android 中downloadmanager學習
android系統中包含了很多的系統管理類,比如:PowerManager,AudioManager等,而使用downloadmanager來下載文件是件很方便的事情。
下面是關鍵代碼:
DownloadManager manager = null; private long mDownloadReference;//當前下載任務的引用,通過該引用可以操作下載任務 //獲取downloadmanager對象 manager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); IntentFilter filter = new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE); //創建監聽下載完成的廣播接收對象 DownloadCompleteReciver downloadeReciver = new DownloadCompleteReciver(); //注冊廣播監聽器 registerReceiver(downloadeReciver, filter); 下載文件的詳細代碼: //指定要下載的文件 Uri uri = Uri.parse("http://10.0.2.2/test/data/get.mp3"); //創建下載任務對象 DownloadManager.Request request = new DownloadManager.Request(uri); //設置下載標題 request.setTitle("下載文件"); //設置下載描述 request.setDescription("正在使用downloadmanager下載文件"); //指定下載到本地的目錄 request.setDestinationInExternalFilesDir(MainActivity.this,"down","hahaha.mp3"); //將下載任務加入到隊列中,并返回下載任務的而引用 mDownloadReference = manager.enqueue(request); setTitle("正在下載"); /取消下載按鈕的單機事件 //取消mDownloadReference指向的下載任務 manager.remove(mDownloadReference); //顯示下載歷史 Intent intent = new Intent();; intent.setAction(DownloadManager.ACTION_VIEW_DOWNLOADS); //顯示下載歷史 startActivity(intent); //查詢下載狀態 //查詢狀態所在的列索引 int columnIndex = cursor.getColumnIndex(manager.COLUMN_STATUS); //獲取下載狀態的代碼 int status = cursor.getInt(columnIndex); //下載原因所在的列的索引 int columnReason = cursor.getColumnIndex(manager.COLUMN_REASON); //獲取下載原因的代碼 int reason = cursor.getInt(columnReason); //獲取下載文件存儲在本地文件名所在列的索引 int filenameIndex = cursor.getColumnIndex(DownloadManager.COLUMN_LOCAL_FILENAME); //獲取下載文件存儲在本地的文件名 String filename = cursor.getString(filenameIndex);
來自: http://blog.csdn.net//mockingbirds/article/details/44837935
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!