我需要从库存启动器中删除指向我的应用程序的一个特定(更好)或所有快捷方式(最坏情况)。我无法使用 UNINSTALL_SHORTCUT 广播,它似乎不起作用(与 this 类似的问题。
我的应用程序由系统证书签名(它将安装在/system/app 中)所以我有一些想法,如何删除快捷方式。
是否有在 ics 中使用 UNINSTALL_SHORTCUT 的有效方法?
我发现当我卸载应用程序时,stock 启动器会删除所有指向我的应用程序的链接。有没有办法模拟卸载(或者发送package_removed广播,有系统权限)?也许写一部分包管理器?
如果 2 不可行,有什么方法可以让包管理器通过重新安装/升级我的应用程序来发送 PACKAGE_REMOVED 广播? (我可以静默安装/升级应用程序,因为我拥有具有 INSTALL_PACKAGES 权限的系统特权)。
最佳答案
我相信除了快捷方式之外,您还会有其他方式启动您的应用。
要不显示在应用程序抽屉中,只需删除
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
来自您的 Activity 的 list ,它不会显示快捷方式
更新:您可以将快捷方式分隔在不同的应用程序/apk 中,并在需要时安装快捷方式“app”,在不需要时卸载。
关于android - 从 ics 中的库存启动器中删除指向我的应用程序的快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10885439/