APP ICON
更改
//更换成圣诞节图标
//拿到当前activity注册的组件名称
ComponentName componentName = getComponentName();
//拿到我们注册的MainActivity组件
defaultComponent = new ComponentName(getBaseContext(), “com.xxxx”); //拿到默认的组件
//拿到我注册的别名xxx组件
testComponent = new ComponentName(getBaseContext(), “com.xxxx”);
packageManager = getApplicationContext().getPackageManager();
changeIcon();
public void changeIcon() {
disableComponent(defaultComponent);
enableComponent(testComponent);
}
public void changeDefaultIcon() {
enableComponent(defaultComponent);
disableComponent(testComponent);
}
/**
* 启用别名组件
*
* @param componentName
*/
private void enableComponent(ComponentName componentName) {
int state = packageManager.getComponentEnabledSetting(componentName);
if (state == PackageManager.COMPONENT_ENABLED_STATE_ENABLED) {
//已经启用
return;
}
packageManager.setComponentEnabledSetting(componentName,
PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
PackageManager.DONT_KILL_APP);
}
/**
* 禁用别名组件
*
* @param componentName
*/
private void disableComponent(ComponentName componentName) {
int state = packageManager.getComponentEnabledSetting(componentName);
if (state == PackageManager.COMPONENT_ENABLED_STATE_DISABLED) {
//已经禁用
return;
}
packageManager.setComponentEnabledSetting(componentName,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
}