在做android app升級更新時遇到幾個問題,我用的測試機是華為V10 系統為8.0
一、安裝閃退(無反應)
解決辦法:
只要在Mainfest.xml 中加入權限編碼即可解決
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
來源參考:https://blog.csdn.net/winnershili/article/details/79559888
二、更新時出現安裝包解析異常
問題原因:setFlags與addFlags位置順序不對導致,應該先setFlags再使用addFlags
下面是我能正常運行的代碼
private void installAPK() {
File apkFile =
new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), apkName);
Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(Intent.ACTION_VIEW);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
Uri apkUri = FileProvider.getUriForFile(mContext, "*****.fileprovider", apkFile);
intent.setDataAndType(apkUri, "application/vnd.android.package-archive");
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
} else {
intent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive");
}
mContext.startActivity(intent);
}
此次能順利解決問題,都是參考了網上前輩們的經驗,在此感謝!
