標籤:android class blog code java http
監聽下載完成:
要想在下載完成後收到一個通知,需要註冊一個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);