【发布时间】:2016-12-28 06:53:52
【问题描述】:
嗨,伙计们,我正在制作网络浏览器,我遇到了一些问题,我正在将我的浏览器设为默认,但是当我想清除默认浏览器时,如果任何其他浏览器是默认的,那么它会显示安全异常,我正在使用这个 getActivity().getPackageManager().clearPackagePreferredActivities(currentHomePackage);
借助这个我可以只清除自己的包,但不能清除其他默认浏览器包
我想在按钮单击时清除默认浏览器我不想从程序中打开设置任何人都帮帮我
packageManager = getActivity().getPackageManager();
resolveInfo = packageManager.resolveActivity(i, PackageManager.MATCH_DEFAULT_ONLY);
currentHomePackage = resolveInfo.activityInfo.packageName;
Uri uri = Uri.parse(Constants.DefaultURL);
Intent i = new Intent(Intent.ACTION_VIEW);
i.addCategory(Intent.CATEGORY_DEFAULT);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.setData(uri);
if (switchButton.isChecked()) {
if (resolveInfo.activityInfo.packageName.equalsIgnoreCase(getActivity().getPackageName()) || resolveInfo.activityInfo.packageName.equalsIgnoreCase("android")) {
/* SharedPreferences.Editor editor = sharedPref.edit();
editor.putBoolean(Constants.DefaultBrowserSetting, true);
editor.commit();*/
Log.d("ppp checked", "--" + currentHomePackage);
startActivity(i);
} else {
getActivity().getPackageManager().clearPackagePreferredActivities(currentHomePackage);
}
} else {
packageManager.clearPackagePreferredActivities(getActivity().getPackageName());
SharedPreferences.Editor editor = sharedPref.edit();
editor.putBoolean(Constants.DefaultBrowserSetting, false);
editor.commit();
switchButton.setChecked(false);
}
}
【问题讨论】:
标签: android