Android隐藏应用桌面图标/动态修改桌面图标
注意:在Android11只要在mainifest有权限申请,就不会隐藏
private void hide() {
PackageManager packageManager = getPackageManager();
packageManager.setComponentEnabledSetting(getComponentName(),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
}
此方式可隐藏桌面图标,即Luncher里看不到应用icon和label,并且后台也看不到,只能手动停止 或卸载,手机管家可清理,启动后进程正常运行,后台日志正常输出
manifest中配置
启动页的下配置
完整配置如下示例:
此种配置,应用安装后能看到页面,后台也可见,桌面无图标,但是杀死进程后无法再次手动启动app
1、清单文件增加权限
2、下增加一个
完整代码:
//3调用
private void chaneIcon() {
PackageManager packageManager = getPackageManager();
//显示别名的设置
packageManager.setComponentEnabledSetting(new ComponentName(this, "com.example.luncherdemo.changeAfter"),
PackageManager.COMPONENT_ENABLED_STATE_ENABLED ,
PackageManager.DONT_KILL_APP);
//disable 掉原来的设置
packageManager.setComponentEnabledSetting(new ComponentName(this, "com.example.luncherdemo.MainActivity"),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED ,
PackageManager.DONT_KILL_APP);
}
这样就能动态修改 lable和icon了