如何在应用程序可升级时在运行时隐藏Android启动器图标

时间:2014-07-21 19:35:58

标签: android icons runtime hide launcher

我在其他答案中看到了这段代码:

PackageManager pm = getApplicationContext().getPackageManager(); 
pm.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);

此代码确实有效,但如果您尝试重新安装或升级该应用,则无法启动已禁用的活动。

有没有其他方法可以在运行时隐藏图标而不会失去重新安装和升级的能力?

有人知道吗?

1 个答案:

答案 0 :(得分:0)

安装时遇到的问题是因为上面的代码禁用了您唯一导出的组件(标记为main和launcher的活动)。您可以添加一些其他导出的组件以返回到应用程序(例如,用于GCM或SMS接收的注册广播接收器)。需要采取类似的方法从Play商店重新启用更新(甚至从eclipse安装)。不幸的是,我不确定需要为这两个组件添加哪些组件。 Workaraound:您可以在推送更新之前向用户发送GCM广播并重新启用启动器组件,但我认为可能有更好的方法。