【问题标题】:How to Hide/ Remove/ Avoid System App (non UI) getting listed/shown in Android app drawer?如何隐藏/删除/避免系统应用程序(非 UI)在 Android 应用程序抽屉中列出/显示?
【发布时间】:2017-08-19 02:06:51
【问题描述】:

我正在开发一个不包含任何用户界面(仅限服务)的系统应用程序。我在启动时启动我的服务。我通过调用finish() 方法立即终止了启动器活动。 此外,我正在使用以下代码从启动器/应用程序抽屉中删除图标。

PackageManager packageManager = getPackageManager();

ComponentName componentName = new ComponentName(this.getApplicationContext(), MainActivity.class);

packageManager.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);

实施没有问题,一切正常。但我无法在已经安装此应用的设备上重新安装 apk,除非卸载该应用并重新安装。

我的问题是 Android 设备中有很多应用程序未在应用程序抽屉中列出,尤其是系统应用程序和一些下载的应用程序。(例如从 Playstore 下载的一些键盘应用程序)。

我想知道这是实现这一目标的唯一方法吗?或者是否有任何其他方法可以将应用程序声明为非 UI 应用程序(以避免在应用程序抽屉中列出/显示)在 AndroidMainfest 中的某个位置?

【问题讨论】:

  • 查看this android studio 中内置的键盘系统应用。它应该会给你一个更好的主意。

标签: java android android-studio apk android-install-apk


【解决方案1】:

试试这个方法。完全删除此行。因为这不是从应用程序抽屉中隐藏应用程序图标的最佳方法。如您所述,它可能会在应用程序更新过程中引起一些问题。

PackageManager packageManager = getPackageManager();

ComponentName componentName = new ComponentName(this.getApplicationContext(), MainActivity.class);
     packageManager.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);

此外,从您的主要活动意图过滤器标记中删除以下“category.LAUNCHER”行(在 Mainifest.xml 上)

<category android:name="android.intent.category.LAUNCHER" />

确保您的主要活动标签中有“.action.MAIN”

例如,您可以简单地将这段代码替换为您当前的主要活动标签。清单

<intent-filter>
     <action android:name="android.intent.action.MAIN" />
     <category android:name="android.intent.category.INFO" /> <!-- optional--> 
</intent-filter>

在此之后,您的应用将不会在应用抽屉中列出,因为您的应用不包含可启动的活动。这样,您还可以避免您提到的重新安装/更新问题。

【讨论】:

    【解决方案2】:

    在相关活动的 android 清单中删除启动器意图过滤器:

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
    
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    

    【讨论】:

    • 如果我删除,我无法在 Android Studio 中编译它。
    • Couldn't even compile 说“未找到默认活动”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    相关资源
    最近更新 更多