android – 有没有办法动态更改日历应用程序的应用程序图标呢?

我想创建一个 Android应用程序,我想动态地自动更新应用程序图标,类似于日历图标在用户主屏幕上的更新方式.

日历会更改每天显示某月份数字的图标.还有一个闹钟应用程序可以更改其图标设置当前时间,换句话说,每分钟更改一次.

这不是一个小部件,而是一个真正的应用程序图标.然后它必须有办法这样做.我怎么能在我的应用程序中执行此操作?

解决方法

无论您的主屏幕是什么,都有特殊的挂钩,无论您的日历应用程序是什么,无论您的闹钟应用程序是什么.通常,应用无法更新其图标.

What do you mean by hooks?

例如,三星可以在三星设备上发布三星日历应用程序.三星在同一台三星设备上的主屏幕可以为三星日历应用程序呈现图标的特殊规则,这些规则涉及显示当月的日期.这是因为三星写了主屏幕.如果您安装第三方主屏幕,它可能不会做同样的事情.毕竟,我可以在一个小时左右的时间内写一个主屏幕,我觉得我不必为三星的日历应用做任何特别的事情.

没有什么可以阻止三星暴露某种API以允许开发人员挂钩三星的主屏幕并通知它这类事情.三星是否打算让第三方使用该API,或者是否有人侵入三星如何为自己的应用程序做这件事,我不能说.

(顺便说一句,我在这里引用三星作为一个可能的例子 – 我不知道他们实际上有这种功能,如果是这样,他们有哪些设备)

我似乎记得有人有一个GitHub项目试图包装各种主屏幕的专有API. IIRC,一些支持的功能包括替换应用程序图标或添加徽章(例如,未读消息计数).然而:

>只有一小部分设备支持这些专有API
>通过逆向工程应用程序发现的未记录和不受支持的API可能会发生变化,并可能以意想不到的方式中断

我非常确定Android SDK中没有任何内容支持动态应用程序图标.我所知道的唯一一件事就是人们尝试过,使用< activity-alias>有N个不同的“活动”,都指向相同的实现,但有不同的图标.使用PackageManager和setComponentEnabledSetting(),该应用程序禁用旧的启动器别名并启用另一个别名,希望主屏幕将在此处显示并显示新图标.一些.其他人只会发现重启时的变化.

为了解决问题,我可以写一个主屏幕.也许我想为应用程序提供一些动态更改图标的方法,即使它没有标准.也许我没有.也许我根本不想使用图标,因为我的主屏幕针对视障人士进行了优化,因此它使用文本到语音和硬件键输入.这是我的主屏幕实现,我可以做我想要的.

相关文章

文章浏览阅读8.8k次,点赞9次,收藏20次。本文操作环境:win1...
文章浏览阅读1.2w次,点赞15次,收藏69次。实现目的:由main...
文章浏览阅读3.8w次。前言:最近在找Android上的全局代理软件...
文章浏览阅读2.5w次,点赞17次,收藏6次。创建项目后,运行项...
文章浏览阅读8.9w次,点赞4次,收藏43次。前言:在Android上...
文章浏览阅读1.1w次,点赞4次,收藏17次。Android Studio提供...