当一个程序包含另一个插件时,另一个插件也创建了桌面快捷方式,个别手机(如三星N7108)会在插件的桌面快捷方式的应用名称变成应用程序名称,此时需要去掉setComponentEnabledSetting 这个属性。
实例:
实例一:禁止开机启动的Receiver(可以是第三方的receiver)
final ComponentName receiver = new ComponentName(context,需要禁止的receiver);
final PackageManager pm = context.getPackageManager();
pm.setComponentEnabledSetting(receiver,PackageManager.COMPONENT_ENABLED_STATE_DISABLED,PackageManager.DONT_KILL_APP); }
实例二:隐藏应用图标
如果设置一个app的mainActivity为COMPONENT_ENABLED_STATE_DISABLED状态
则不会再launcher的程序图标中发现该app
PackageManager packageManager = getPackageManager();
ComponentName componentName = new ComponentName(this, StartActivity.class);
int res = packageManager.getComponentEnabledSetting(componentName);
if (res == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT
|| res == PackageManager.COMPONENT_ENABLED_STATE_ENABLED) {
// 隐藏应用图标
packageManager.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
} else {
// 显示应用图标
packageManager.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT,
PackageManager.DONT_KILL_APP);
}
链接:http://blog.csdn.net/mingli198611/article/details/17269355