电信入库有多个浏览器,在初始使用时默认选择一个不弹出给用户选择的方法

在电信入库测试时要求:用户打开任何网址连接时,不容许弹出浏览器选择或者确认界面,请终端厂商设置主浏览器为默认浏览器,再也不容许用户选择或者确认。 android

若是在系统中默认集成有多个浏览器时,android上的作法是在用户打开网址连接时弹出个选择框给用户选择使用哪一个浏览器打开该网址连接。但这样就不符合电信的要求,有什么好的修改办法呢? 浏览器

这边提供一种可行的修改策略,就是仿照那程序选择的界面上的“默认使用改程序”选项实现的方法。在用户选中该选项后选择程序后,系统会调用到PackagesManagerService中的addPreferredActivity方法,在该方法中会把当前选择程序的intent-filter加到preferred_activit list中,而且最后保存到packages.xml中。packages.xml配置文件的内容会在系统启动加载PackagesManagerService服务时读取并加载到内存中。 测试

如今添加默认优选的方法就是:把要优选的intentfilter内容(仿照packages.xml中写)先保存到一个xml文件中,系统编译时把这个文件编译到手机上的system/etc目录下(这样保证不会在恢复出厂设置时被删除);而后在PackagesManagerService类的内部类setting的readLP方法中添加代码,判断若是packages.xml文件不存在时,就加载咱们保存在系统system/etc下的默认优选配置,把咱们想要的默认配置加载到系统内存的preferred_activit list中,这样就完成了,这时再打开网址连接时打开的就是咱们默认的程序了,不会再弹出选择给用户。 xml

相关文章
相关标签/搜索