android 动态修改应用图标(二)

这篇博客探讨了在Android应用中如何实现动态修改应用图标的功能,特别是在非首页的深层次界面。通过调整MainActivity.java和AndroidManifest.xml,避免了切换图标后在手机桌面上出现多个应用图标的问题。文中提到的方法虽然有效,但可能不够优雅,作者期待有更优的解决方案。
摘要由CSDN通过智能技术生成

在我的在实际开发中,动态修改图标的功能不在应用首页,一般都会在设置或者界面样式修改这样比较深层次的界面中,如果使用上篇博文,便会导致切换图标后,我的手机桌面出现两个不同图标的同款应用,卸载一个后另一个跟着被卸载,显然不是我想要的功能。
主要是MainActivity.java:

//四个按钮的点击事件
 @Override
 public void onClick(View v) {
   
        switch (v.getId()) {
   
            case R.id.LogoOneImage:
                setPrimitiveIcon();
                break;
            case R.id.LogoTwoImage:
                setAdvancedIcon();
                break;
            case R.id.LogoThreeImage:
                setSteadyBlueIcon();
                break;
            case R.id.LogoFourImage:
                setDarkNightIcon();
                break;
            default:
                break;
        }
    }
    //设置 "一号"图标
private void setPrimitiveIcon() {
   
        PackageManager packageManager = getPackageManager();
        packageManager.setComponentEnabledSetting(new ComponentName(this, getPackageName() +
                        ".SteadyBlueActivity"), PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                PackageManager.DONT_KILL_APP);
        packageManager.setComponentEnabledSetting(new ComponentName(this, getPackageName() +
                        ".DarkNightActivity"), PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                PackageManager.DONT_KILL_APP);
        packageManager.setComponentEnabledSetting(new ComponentName(this, getPackageName() +
                        ".RoundActivity"), PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                PackageManager.DONT_KILL_APP);
        packageManager.setComponentEnabledSetting(new ComponentName(this, getPackageName(
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值