Intent Action for Download Completion not visible in AndroidManifest.xml

You can do like this.

    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);

Leave a Comment