概述
最近有个需求,就是要代码动态修改 APP 在任务管理器中名称显示,不要问我问什么有这样的需求,因为需求就这样。哈哈……
对于如何控制 APP 在任务管理器中的 Title,我们可能知道,可以通过在 AndroidManifest.xml 中设置 application
或者主 activity
的 android:label
来实现,而且 activity
的优先级高于 application
,也就是说两者都设置这个标签的话,主 activity
的值覆盖 application
,在桌面上的 APP 名称和 activity
的 title
的名称都是 activity
的 label
值。
但是 label
的值在代码中是无法进行动态设置的,而且 ActivityInfo
的生成是在 AMS 进程进行的,想要修改也不太容易,后面甚至想到了用 HOOK 技术 HOOK PMS 以及 AMS 相关 API 的方法。
由于一直想当然的认为任务管理器中也是读取的是 ActivityInfo
的 labelRes
或者 nonLocalizedLabel
来实现的,因此就一直在修改 an