activity-alias使用
以前装应用的时候有些应用会在桌面上生成两个图标,这两个图标有些是同一个Activity的入口,有些是另外一个Activity的入口,这样的效果是怎么实现的呢?在看Android原生DeskClock程序的时候看到了这个功能的实现.使用的是activity-alias:
123456789<activity-alias android:enabled=["true" | "false"]android:exported=["true" | "false"]android:icon="drawable resource"android:label="string resource"android:name="string"android:permission="string"android:targetActivity="string" >. . .</activity-alias>activity-alias中标记了一个名为android.intent.category.DESK_DOCK的category, 这个是在android设备插上桌面Dock底座的时候才会触发alias入口。设置:
1<category android:name="android.intent.category.DESK_DOCK" />实现app多入口登入。
manifest代码:
|
|
效果如下:app显示了2个应用图标
app实现动态修改icon
了解完
的基本知识之后,就知道动态修改桌面图标和应用名称是怎么做到的了。其实就是给整个应用的入口 Activity 添加一个
标签,并设置预先设计好的替代桌面图标和应用名称,并配置相同的
属性,动态启动即可。
manifest代码
|
|
Java代码
|
|
在执行setIcon()之后,桌面会过一段时间显示新的图标,如果需要立即刷新图标,在执行setIcon()方法之后执行如下可以立即刷新。
|
|
使用这个方法需要添加权限:
|
|
效果如下: