很多年前我是用苹果手机的时候就发现在桌面的图标里系统自带的时钟指南针日历都是会随着实际情况动的,苹果称之为拟物化的风格
最近在使用安卓,发现安卓的手机也实现了这样的功能。于是我就想自己来实现一下一个带动态图标的APP。比如一个时钟,时钟的图标显示根据系统当前时间的秒,分钟和小时线。所有指针都按照当前时间移动。意味着像真正的手表一样可运行的图标,就像给定的图像一样,不用打开APP就可以看到时钟的显示。
行动开始,我先去查阅一些资料,发现事情并不简单。研究后发现,对于第三方应用程序来说,这是不可能的,日历应用程序和闹钟应用程序都有特殊的hook。通常,应用程序无法更新其图标。Android SDK中没有支持动态应用程序图标的东西。但是使用了N个不同的“activity-alias”,它们都指向相同的实现,但是具有不同的图标。
具体的代码如下
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.dynamiciocn">
<application
and