【问题标题】:Hide an application from Android application list从 Android 应用程序列表中隐藏应用程序
【发布时间】:2023-03-15 17:21:02
【问题描述】:

有没有办法从 Android 应用程序列表中隐藏应用程序图标?该应用程序应该从 Market 下载并打开一些 GUI 来配置我的应用程序。我不想在应用程序列表中看到我的应用程序的任何图标。用户应该无法运行它。

顺便说一句,我知道: 从清单类别中删除此行 android:name="android.intent.category.LAUNCHER"

但这对我不起作用,因为没有显示 GUI。

非常感谢!

【问题讨论】:

    标签: android


    【解决方案1】:

    删除启动器类别是正确的。

    尝试将 android.intent.category.DEFAULT 添加到意图过滤器以便能够调用活动。

    【讨论】:

      【解决方案2】:

      感谢重播。 我找到了一种从应用程序列表中隐藏应用程序图标的方法;

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

      但是在重新安装应用程序时会出现错误“活动类不存在”,并且如果不卸载它就无法重新安装应用程序。 .... 有什么问题 ?

      还有 Launcher Pro 的变体。但这是一个应用程序。我的应用程序应该从 Android Market 下载,并且不能保证所有用户都拥有 Launcher Pro。 我想以编程方式从应用程序列表中隐藏应用程序图标。 PackageManager 的方法对我有用……但是重新安装有问题。当您想从 Market 更新应用程序时,这一点很重要。

      【讨论】:

      • 我现在也有同样的要求。如果您找到了解决方案,请分享。
      【解决方案3】:

      我找到了一种在您重新安装应用程序时可以正常工作的方法。

      使用意图过滤器操作android.intent.action.PACKAGE_ADDED添加广播接收器。

      在 onReceived 方法中,您必须激活已禁用的组件:

      ComponentName componentToEnable = new ComponentName(context, Your_disabled_class.class);
      PackageManager pm = context.getPackageManager();
      pm.setComponentEnabledSetting(componentToEnable, PackageManager.COMPONENT_ENABLED_STATE_ENABLED,                           PackageManager.DONT_KILL_APP);
      

      接收器的完整 AndroidManifest.xml:

      <receiver android:name="PackageChangeReceiver">
      
      <intent-filter>
      <action android:name="android.intent.action.PACKAGE_ADDED"/>
      <action android:name="android.intent.action.PACKAGE_REPLACED"/>
      <action android:name="android.intent.action.PACKAGE_REMOVED"/>
      
      <data android:scheme="package"/>
      
      </intent-filter>
      </receiver>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-18
        • 2012-05-10
        • 2012-08-16
        • 1970-01-01
        • 2011-09-27
        • 1970-01-01
        • 1970-01-01
        • 2023-04-01
        相关资源
        最近更新 更多