学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴
今天我们学习打卡的内容是:android 10.0 去掉未知来源弹窗 默认授予安装未知来源权限
那直接进入分享:
查阅相关资料发现,Android8.0中对于APK的安装做了如下调整:
将 设置--安全 中的 允许安装未知来源应用 取消了(由于国内手机系统的高度定制,该选择项的位置有差异)
在安装 APK 文件时新增 未知来源安装权限,即 android.permission.REQUEST_INSTALL_PACKAGES
通过查询资料了解到在8.1以后不再通过一个未知来源的布尔值来开启未知来源权限了,需要通过授予权限来默认安装第三方权限,否则会弹出 授权安装第三方app权限同意后才能继续安装显得有些麻烦
相关修改代码:
--- a/frameworks/base/packages/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java +++ b/frameworks/base/packages/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java @@ -183,7 +183,10 @@ public class PackageInstallerActivity extends AlertActivity { case DLG_EXTERNAL_SOURCE_BLOCKED: return ExternalSourcesBlockedDialog.newInstance(mOriginatingPackage); case DLG_ANONYMOUS_SOURCE: //去掉弹出AnonymousSourceDialog对话框 默认安装 - return AnonymousSourceDialog.newInstance(); + mAllowUnknownSources = true; + initiateInstall(); + break; + //return AnonymousSourceDialog.newInstance(); } return null; }