-5
"android.intent.action.DOWNLOAD_COMPLETE"をリッスンするブロードキャストレシーバーを登録しようとしています。しかし、それはAndroidManifest.xmlには表示されません。助けてくださいダウンロード完了のインテントアクションAndroidManifest.xmlに表示されない
"android.intent.action.DOWNLOAD_COMPLETE"をリッスンするブロードキャストレシーバーを登録しようとしています。しかし、それはAndroidManifest.xmlには表示されません。助けてくださいダウンロード完了のインテントアクションAndroidManifest.xmlに表示されない
このようにすることができます。
DownloadManager downloadManager;
downloadManager = (DownloadManager)getSystemService(Context.DOWNLOAD_SERVICE);
Uri uri = Uri.parse("http://xxx.apk");
DownloadManager.Request request = new DownloadManager.Request(uri);
// You can choose network type
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI);
downloadManager.getRecommendedMaxBytesOverMobile(getApplicationContext());
final long flag = downloadManager.enqueue(request);
IntentFilter filter = new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE);
BroadcastReceiver receiver = new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
long anotherFlag = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID,-1);
if(anotherFlag == flag){
// do something you want to do
}
}
};
registerReceiver(receiver, filter);
KeLiuyueさん、ありがとうございましたが、私はbroadcastreceiverを実装するクラスを実装することを考えていました。そして、私はを追加しようとしていましたが、アクション名= "android.intent.action.DOWNLOAD_COMPLETE"は表示されません。出来ますか? –
user3678389
@ user3678389はい、あなたはそれを行うことができます。私のやり方は動的登録BroadcastReceiveです。あなたは静的登録BroadcastReceiveを使用しています。 – KeLiuyue
@ user3678389この[https://developer.android.com/guide/components/broadcasts.html](https://developer.android.com/guide/components/broadcasts.html)をご覧ください。 – KeLiuyue