标签的使用

之前在浏览器的AndroidManifest.xml中看到的使用, 大概能猜到它的作用, 但很迷惑为什么要使用它. 直到看到了这篇文章:
http://yifeng.studio/2016/12/30/android-change-app-launcher-icon-dynamically/
《Android 利用 动态改变 App 桌面图标》

摘录:

我们能通过 标签为每个 Activity 注册一个“别名”, 通过这个别名就能启动对应的目标 Activity
它最重要的属性是:
android:enabled 属性,布尔类型,是否开启别名设置,默认值为 true;

使用场景 - 动态修改应用在桌面上的图标

给整个应用的入口 Activity 添加一个 标签,并设置预先设计好的替代桌面图标和应用名称.


    
        
            

            
        
    

    

        
            

            
        

    




值得注意的是: 一般情况下默认要设置为android:enabled="false", 当赶上节假日需要使用预先放置的特定图标时, 通过消息推送执行java代码, 动态设置的enable属性为true, 这样就实现了替换图标的目的.

   PackageManager pm = getPackageManager();
   pm.setComponentEnabledSetting(getComponentName(),
            PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
   pm.setComponentEnabledSetting(new ComponentName(this, "com.yifeng.samples.AliasName"),
            PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
浏览器项目中的乱用
        
        
        
            
                
                
                
                
                
            
    

这里给ChromeLauncherActivity起了个别名SplashActivity, 在项目中也没有SplashActivity这个类.
但实际上使用 并没有任何的实际意义, 也没有动态更改图标的业务需要, 只是毫无意义的增加了开发人员对AndroidManifest文件的一些迷惑, 这点得批评一下.

-----DONE.-------

你可能感兴趣的:( 标签的使用)