动态更改桌面app图标


title: 动态更改桌面app图标
date: 2016-12-13 10:33:27
tags: Utils


  • 清单中里的设置

    
                
                    
                
     
     
                  
                    
                    
                
      
      
                
                    
                    
                
      
    

    将原先的activity标签下的删掉

    添加`标签

    android:name=".uu" 随便起的名字

    android:enabled="true" true表示默认就使用这个,桌面图标就是这个,应用名就是上面那个name

    android:icon="@mipmap/uu" 下面两个不用解释了

    android:targetActivity=".MainActivity">

    上代码

    private void switchIcon(boolean isUU) {
            try {
                //要跟manifest的activity-alias 的name保持一致  
                String maoyu = "com.aidebar.demo.maoyu";
                String uu = "com.aidebar.demo.uu";
    
                PackageManager pm = getPackageManager();
                ComponentName uuComponentName = new ComponentName(getApplicationContext(), uu);
                int uuState = isUU ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
                        : PackageManager.COMPONENT_ENABLED_STATE_DISABLED;
                //如果是UU,那么设置成enabled
                if (pm.getComponentEnabledSetting(uuComponentName) != uuState) {
                    pm.setComponentEnabledSetting(uuComponentName, uuState,        PackageManager.DONT_KILL_APP);
                }
                
                ComponentName maoyuComponentName = new ComponentName(getApplicationContext(), maoyu);
                //如果是UU,其他的都要设为disabled
                int maoyuState = !isUU ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
                        : PackageManager.COMPONENT_ENABLED_STATE_DISABLED;
                if (pm.getComponentEnabledSetting(maoyuComponentName) != maoyuState) {//新状态跟当前状态不一样才执行  
                    pm.setComponentEnabledSetting(maoyuComponentName, maoyuState, PackageManager.DONT_KILL_APP);
                }
            } catch (Exception e){
            }
        }
    

    可以在每次打开的时候判断下日期,如果是双十二啦,圣诞啦,就可以调用这方法,来改变应用图标啦,但是要注意试了几个测试机,都要十来秒才会有变化,在这十秒内点击桌面图标会出现该应用未正确安装的提示

你可能感兴趣的:(动态更改桌面app图标)