Android downloadmanger 2之对于下载完成和点击下载通知的监听

来源:互联网 发布:软件不支持中文字体 编辑:程序博客网 时间:2024/06/10 12:49

监听下载完成:

要想在下载完成后收到一个通知,需要注册一个Receiver来接收ACTION_DOWLOAD_COMPLETE广播。它将包含一个EXTRA_DOWNLOAD_ID extra,其中包含了已经完成下载的引用ID:

public void funclick(View view){String serviceString = Context.DOWNLOAD_SERVICE;DownloadManager downloadManager;downloadManager = (DownloadManager)getSystemService(serviceString);Uri uri = Uri.parse("http://img00.hc360.com/it/201206/201206121034589404.jpg");DownloadManager.Request request = new Request(uri);request.setAllowedNetworkTypes(Request.NETWORK_WIFI);downloadManager.getRecommendedMaxBytesOverMobile(getApplicationContext());final long myreference = downloadManager.enqueue(request);IntentFilter filter = new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE);BroadcastReceiver receiver = new BroadcastReceiver(){@Overridepublic void onReceive(Context context, Intent intent) {long reference = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID,-1);if(reference == myreference){//对下载的文件进行一些操作}}};registerReceiver(receiver, filter);}

监听点击下载通知栏:

IntentFilter filter = new IntentFilter(DownloadManager.ACTION_NOTIFICATION_CLICKED);BroadcastReceiver receiver = new BroadcastReceiver(){@Overridepublic void onReceive(Context context, Intent intent) {String extraID = DownloadManager.EXTRA_NOTIFICATION_CLICK_DOWNLOAD_IDS;long[] references = intent.getLongArrayExtra(extraID);for(long reference : references){if(reference == myreference){//对下载的文件进行一些操作}}}};registerReceiver(receiver, filter);


1 0
原创粉丝点击