在做android app升级更新时遇到几个问题,我用的测试机是华为V10 系统为8.0
一、安装闪退(无反应)
解决办法:
只要在Mainfest.xml 中加入权限编码即可解决
<uses-permission android:name&#61;"android.permission.REQUEST_INSTALL_PACKAGES" />
来源参考&#xff1a;https://blog.csdn.net/winnershili/article/details/79559888
二、更新时出现安装包解析异常
问题原因&#xff1a;setFlags与addFlags位置顺序不对导致&#xff0c;应该先setFlags再使用addFlags
下面是我能正常运行的代码
private void installAPK() {File apkFile &#61;new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), apkName);Intent intent &#61; new Intent();intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.setAction(Intent.ACTION_VIEW);if (Build.VERSION.SDK_INT >&#61; Build.VERSION_CODES.N) {Uri apkUri &#61; 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);}
此次能顺利解决问题&#xff0c;都是参考了网上前辈们的经验&#xff0c;在此感谢&#xff01;