问题描述:
谷歌强制要求发货版本的“未知来源”默认不勾选。用户首次安装应用时(尤其是刚下载的应用安装时),提示用户进入勾选“未知来源”后,操作比较繁琐。
解决方案:
在用户安装”未知来源“应用程序的时候弹出对话框,并设置解除禁止的按钮,在安装应用程序界面直接接触而禁止安装。
解除后的效果图为:
修改方案为: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"/>