代碼里面有詳細的注釋:
1 /** 2 * 該方法是調用了系統的下載管理器 3 */ 4 public void downLoadApk(Context context,String url){ 5 /** 6 * 在這里返回的 reference 變量是系統為當前的下載請求分配的一個唯一的ID, 7 * 我們可以通過這個ID重新獲得這個下載任務,進行一些自己想要進行的操作 8 * 或者查詢下載的狀態以及取消下載等等 9 */ 10 Uri uri = Uri.parse(url); //下載連接 11 manager = (DownloadManager) context.getSystemService(context.DOWNLOAD_SERVICE); //得到系統的下載管理 12 requestApk = new DownloadManager.Request(uri); //得到連接請求對象 13 requestApk.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI); //指定在什么網絡下進行下載,這里我指定了WIFI網絡 14 requestApk.setDestinationInExternalPublicDir(context.getPackageName()+"/myDownLoad","xiaoyuantong.apk"); //制定下載文件的保存路徑,我這里保存到根目錄 15 requestApk.setVisibleInDownloadsUi(true); //設置顯示下載界面 16 requestApk.allowScanningByMediaScanner(); //表示允許MediaScanner掃描到這個文件,默認不允許。 17 requestApk.setTitle("xxx更新下載"); //設置下載中通知欄的提示消息 18 requestApk.setDescription("xxx更新下載");//設置設置下載中通知欄提示的介紹 19 long downLoadId = manager.enqueue(requestApk); //啟動下載,該方法返回系統為當前下載請求分配的一個唯一的ID 20 }