Android更新包下載成功后不出現安裝界面


測試機版本: Android 5,  Android 6 ,  Android 9 , Android 10

問題: 高版本的手機,下載完安裝包之后,沒有跳轉到Android的安裝界面,刷新頁面,重新進入APP。

原因: Android7.0以后,增加了未知來源應用的權限,需要在AndroidManifest.xml清單文件中添加權限。

解決:

在AndroidManifest.xml文件中添加權限

 <!-- 安裝未知來源權限-->
 <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

安裝App代碼實現

public void installAPK(apkPath,apkName) {
 // 假設:apkPath = "/storage/emulated/0/test"
//       pakName = test.apk
        File apkFile = new File(apkPath, apkName);
        if (!apkFile.exists()){
            return;
        }
        Intent intent = new Intent(Intent.ACTION_VIEW);
//      安裝完成后,啟動app
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

        // Android 版本在7.0以上
        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N){
            ////Android7.0之后獲取uri要用contentProvider
            Uri apkUri = FileProvider.getUriForFile(mContext, "包名.fileprovider", new File(apkFile.toString()));
            //添加這一句表示對目標應用臨時授權該Uri所代表的文件
            intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
            intent.setDataAndType(apkUri, "application/vnd.android.package-archive");
        }else {
            Uri uri = Uri.parse("file://" + apkFile.toString());
            intent.setDataAndType(uri, "application/vnd.android.package-archive");
        }
        mContext.startActivity(intent);
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM