我已经看到谷歌应用程序上有一些 GPS 应用程序,安装后,该应用程序将没有图标显示,但会在后台运行服务。
我将如何实现这一目标?
要从启动器中删除应用程序,请不要将这些行与主活动放在一起 AndroidManifest.xml
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
如果您想以编程方式将其删除,则使用PackageManager.setComponentEnabledSetting将其从启动器中删除:
ComponentName componentToDisable =
new ComponentName("com.xxx.apptodisable",
"com.xxx.apptodisable.LauncherActivity");
getPackageManager().setComponentEnabledSetting(
componentToDisable,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
使用此代码
PackageManager p = getApplicationContext().getPackageManager();
p.setComponentEnabledSetting(getComponentName(),PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
从启动器中隐藏应用程序图标的最佳方法可以<category android:name="android.intent.category.LEANBACK_LAUNCHER"/>
在清单 MainActivity 中使用
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER"/>
</intent-filter>
</activity>
还添加使用功能
<uses-feature
android:name="android.software.leanback"
android:required="true" />
只是不要使用android.intent.category.LAUNCHER
类别意图过滤器实现 Activity,并且服务接收启动广播。