文章出處
文章列表
這里介紹的是用XUtils下載apk文件,然后進行安裝。
首先用HttpUtils下載文件(記得獲取SD卡的讀寫權限和聯網的權限):
1 /** 2 * 下載Apk 3 */ 4 private void downLoadApk() { 5 //檢測是否掛載了SD卡 6 if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ 7 final String path = Environment.getExternalStorageDirectory().getAbsolutePath()+ File.separator+"safer.apk"; 8 9 HttpUtils httpUtils = new HttpUtils(); 10 httpUtils.download(mDownloadUrl, path, new RequestCallBack<File>() { 11 //下載成功 12 @Override 13 public void onSuccess(ResponseInfo<File> responseInfo) { 14 Log.i(TAG,"下載成功"); 15 File file = responseInfo.result; 16 installApk(file); 17 } 18 //下載失敗 19 @Override 20 public void onFailure(HttpException error, String msg) { 21 Log.i(TAG,"下載失敗"); 22 } 23 //剛開始下載的方法 24 @Override 25 public void onStart() { 26 super.onStart(); 27 Log.i(TAG,"開始下載"); 28 } 29 //total下載內容的總大小 current當前下載量 isUploading是否正在下載 30 @Override 31 public void onLoading(long total, long current, boolean isUploading) { 32 super.onLoading(total, current, isUploading); 33 Log.i(TAG,"正在下載"); 34 } 35 }); 36 37 } 38 39 }
然后就是安裝下載來的apk文件:
private void installApk(File file) { Intent intent = new Intent("android.intent.action.VIEW"); intent.addCategory("android.intent.category.DEFAULT"); intent.setDataAndType(Uri.fromFile(file),"application/vnd.android.package-archive"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); }
把下好的File直接傳進來,然后安裝就可以了,。
注意:必須簽名文件一樣才能進行升級安裝。
文章列表
全站熱搜