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