【发布时间】:2010-01-25 10:46:18
【问题描述】:
我正在开发一个应用程序,它应该在安装后将其快捷方式添加到主屏幕,并在卸载应用程序后将其删除。该应用程序将预安装在最终用户设备上,但仍应具有卸载选项)。这个任务看起来很简单,但我在实现它时遇到了很多麻烦。
我做了什么:
- 使用添加快捷方式到主屏幕 com.android.launcher.action.INSTALL_SHORTCUT 在应用首次启动或在 newt 设备上 重启。
- 使用手动删除快捷方式 com.android.launcher.action.UNINSTALL_SHORTCUT。
我不能(几乎放弃):
- 自动删除快捷方式时 正在卸载应用程序。
无法使用 Intent.ACTION_PACKAGE_REMOVED,因为正在卸载的应用程序没有收到此意图。 我进行了一些测试,发现应用程序删除的唯一快捷方式类型是从菜单“添加到主屏幕 => 快捷方式 => 应用程序 => 应用程序活动”创建的快捷方式。以编程方式创建或在 AndroidManifest 中声明的快捷方式在应用卸载后仍保留在主屏幕上。
论坛上几乎没有关于这个主题的文档和帖子,我有点困惑,为什么不能直接实施这样一个不违反 Android 安全策略的简单操作。
有没有办法让操作系统在应用程序卸载时删除相应的快捷方式? 我可以在应用程序被删除之前捕捉到它被卸载的事件吗?
【问题讨论】:
标签: android homescreen android-launcher