java设置程序图标_通过代码动态修改应用图标和应用名

1、AndroidManifest.xml文件的配置

android:allowBackup="true"

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:roundIcon="@mipmap/ic_launcher_round"

android:supportsRtl="true"

android:theme="@style/AppTheme">

android:icon="@mipmap/ic_launcher"

android:label="图标1"

android:enabled="true">

android:name=".icon2"

android:targetActivity=".MainActivity"

android:enabled="false"

android:icon="@mipmap/apple"

android:label="图标2">

android:name=".icon3"

android:targetActivity=".MainActivity"

android:enabled="false"

android:icon="@mipmap/orange"

android:label="图标3">

2、逻辑代码动态控制

获取:ComponentName

icon1 =new ComponentName(getApplication(),"com.example.zf.icondemo.MainActivity");

icon2 = new ComponentName(getApplication(), "com.example.zf.icondemo.icon2");

icon3 = new ComponentName(getApplication(), "com.example.zf.icondemo.icon3");

动态控制应用图标及应用名:

enableComponent(icon1);

disableComponent(icon2);

disableComponent(icon3);

/**

* 通过PackageManager 的setComponentEnabledSetting方法控制组件的开启禁用。

* 开启

* @param componentName

*/

private void enableComponent(ComponentName componentName){

mPm.setComponentEnabledSetting(componentName,

PackageManager.COMPONENT_ENABLED_STATE_ENABLED,

PackageManager.DONT_KILL_APP);

}

/**

* 禁用

* @param componentName

*/

private void disableComponent(ComponentName componentName){

mPm.setComponentEnabledSetting(componentName,

PackageManager.COMPONENT_ENABLED_STATE_DISABLED ,

PackageManager.DONT_KILL_APP);

}

ps:

通过PackageManager 的setComponentEnabledSetting方法控制组件的开启禁用。

public void setComponentEnabledSetting (ComponentName componentName, int newState, int flags)

componentName:组件名称

newState:组件新的状态,可以设置三个值,分别是如下:

不可用状态:COMPONENT_ENABLED_STATE_DISABLED

可用状态:COMPONENT_ENABLED_STATE_ENABLED

默认状态:COMPONENT_ENABLED_STATE_DEFAULT

flags:行为标签,值可以是DONT_KILL_APP或者0。 0说明杀死包含该组件的app

这样进入应用点击相应图标就会变化图标和应用名。会有一定的延迟。并且在变化成功之前图标点击没效果,成功之后点击才会进入程序。

在清单文件中设置enable=“true” (默认为true)会生成三个程序入口。即在手机桌面显示三个应用图标。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值