设置默认浏览器为百度浏览器,默认视屏播放器都是同样的思路
前提:系统提供设置默认应用的设置接口
方案:静态注册一个接受开机广播的接收器Receiver。收到开机广播时,如果当前不存在配置的默认浏览器,则设置百度浏览器(解压确定浏览器的包名)为默认浏览器;
关键技术知识点:
在settings应用中
(1)settings应用中包装的接口
使用设置中的代码PackageManagerWrapper,也是调用系统服务的接口,PackageManger
获取默认浏览器的包名,public String getDefaultBrowserPackageNameAsUser(int userId)
根据包名设置默认浏览器,public boolean setDefaultBrowserPackageNameAsUser(String packageName, int userId)
(2)静态广播的取消注册
context.getPackageManager().setComponentEnabledSetting(
new ComponentName(“包名”,类名.class.getName()),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
COMPONENT_ENABLED_STATE_DISABLED:使得该广播接收器去使能
DONT_KILL_APP:去使能该广播接收器时不杀死对应的app