解决:在用户安装”未知来源“应用弹出对话框直接解除禁止,无需切换至设置页面进行勾选“未知来源“才能安装

  问题描述:

        谷歌强制要求发货版本的“未知来源”默认不勾选。用户首次安装应用时(尤其是刚下载的应用安装时),提示用户进入勾选“未知来源”后,操作比较繁琐。

  解决方案:

        在用户安装”未知来源“应用程序的时候弹出对话框,并设置解除禁止的按钮,在安装应用程序界面直接接触而禁止安装。

  解除后的效果图为:


修改方案为:PackageInstallerActivity类下的onCreateDialog()方法中分支为DLG_UNKNOW_APPS:

这里创建了一个Dialog如上图,当让上图中的Dialog是自定义的(自定义Dialog方法有很多,这里不再赘述),将原有的”设置“选项修改为解除禁止,并添加一下代码实现对设置界面中”未知来源“选项的设置。

代码为:Settings.Global.putInt(getContentResolver(),Settings.Global.INSTALL_NON_MARKET_APPS,true?1:0);

当然还有一个很重要的就是在PackageInstaller模块下的AndroidManifest.xml中添加两个用户权限:

<user-permission android:name="android.permission.WRITE_SCURE_SETTINGS"/>

<user-permission android:name="android.permission.WRITE_SETTINGS"/>

原文地址:https://www.cnblogs.com/bill-technology/p/4130826.html