android - 从 ics 中的库存启动器中删除指向我的应用程序的快捷方式

标签 android android-4.0-ice-cream-sandwich android-launcher shortcut android-homebutton

我需要从库存启动器中删除指向我的应用程序的一个特定(更好)或所有快捷方式(最坏情况)。我无法使用 UNINSTALL_SHORTCUT 广播,它似乎不起作用(与 this 类似的问题。

我的应用程序由系统证书签名(它将安装在/system/app 中)所以我有一些想法,如何删除快捷方式。

  1. 是否有在 ics 中使用 UNINSTALL_SHORTCUT 的有效方法?

  2. 我发现当我卸载应用程序时,stock 启动器会删除所有指向我的应用程序的链接。有没有办法模拟卸载(或者发送package_removed广播,有系统权限)?也许写一部分包管理器?

  3. 如果 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/

相关文章:

android - 此处不允许元素忽略,在 Android lint.xml 中

java - Gradle 使用单个 build.gradle 在多个项目上构建

android - 人脸检测是否需要 SurfaceView 才能工作?

Android 自定义启动器不会停止 BootAnimation

android - 以编程方式启动启动器选择/Android

java - Ray 和 intersectRayTriangle 如何工作?

未调用 Android PreferenceScreen onChangeListener

android - 在 Eclipse 中为 Android 项目构建 *.apk 文件时,aapt.exe 抛出未处理的异常

android - 如何使 ICS 应用程序(API 15)与 Jellybean(API 16)兼容?

android - 从设备上的 eclipse 启动 android 应用程序非常慢