app自动更新功能 在下载完成后代码安装app
public void installApkFile(File apkFile) { if (apkFile != null && apkFile.exists()) { try { String[] args2 = {"chmod", "777", apkFile.getAbsolutePath()}; Runtime.getRuntime().exec(args2); } catch (Exception e) { e.printStackTrace(); } Intent installIntent = new Intent(Intent.ACTION_VIEW); installIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); Uri uri; if (Build.VERSION.SDK_INT >= 24) { uri = FileProvider.getUriForFile(MyApplication.getContext(), MyApplication.getContext().getPackageName() + ".fileprovider", apkFile); installIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); } else { uri = Uri.fromFile(apkFile); } installIntent.setDataAndType(uri, "application/vnd.android.package-archive"); MyApplication.getContext().startActivity(installIntent); } }
在安卓6.0 7.0下均没问题
华为安卓8.0手机没有任何反应
在网上找到有出现类似问题
解决方法很简单
只要在Mainfest.xml 中加入权限编码即可解决
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
坑爹的华为