Android开发:如何动态更换APP图标
原理 :在Manifest文件中,使用<activity-alias>标签为我们的启动Activity准备多个别名,拥有<activity-alias>标签的activity指向启动Activity,每个拥有<activity-alias>标签的Activity都可以单独设置一个icon,在程序中我们动态设置<activity>和<activity-alias>的enabled属性来实现替换图标效果。
步骤 :
这个 <activity-alias> 标签需要注意的地方如下:
(1)android:name属性可以随意起。
(2)android:enabled属性要设为false,否则桌面会存在多个APP图标。
(3)android:icon属性设置为不同的图标。
(4)android:targetActivity属性要设为启动的Activity。
(5)添加<intent-filter>那部分来使其作为启动的Activity。
注意setComponentEnabledSetting()方法的第3个参数有两个值供选择:1(也就是PackageManager.DONT_KILL_APP)和0。这两种参数对应两种效果:当设为1时,当切换APP图标时,会有几秒钟的延迟,并且在延迟期间不能点击图标进入APP;当设为0时,当切换APP图标时,会立刻更换,但是应用会被强制退出并被清理掉。
存在的问题 :
需要将<activity>的enabled属性设为enabled或者将APP卸载后才能编译运行。
2023-10-30 广告