如何让 Android 应用只有 运行 后台服务,并且不能启动?

How to make an Android app only run background services, and not be launcheable?

是否可以在没有任何活动的情况下创建应用程序?没有启动器图标,也没有 Play 商店中的 "open" 按钮?喜欢这个https://my.pcloud.com/publink/show?code=XZUi3I7Z6yNkHyuBISL5XynlYYI8SjEJcoMk

我只需要它来创建后台服务。 我做了一些研究,但我还没有发现任何关于此的信息。如果你能给我指出一个方向(或者告诉我这是不可能的)那就太好了! 干杯!

你说你不想使用半透明的 Activity,但这似乎是最好的方法:

1- 在您的清单中,将 Activity 主题设置为 Theme.Translucent.NoTitleBar.

2- 不要为您的 Activity 布局而烦恼,也不要调用 setContentView().

3- 在您的 Activity 的 onCreate() 中,使用 startService() 启动您的服务。

4- 启动服务后,使用 finish() 退出 Activity。

换句话说,您的 Activity 不必是可见的;它可以简单地确保您的服务是 运行 然后退出,这听起来像您想要的。

如何隐藏午餐图标:

PackageManager p = getPackageManager();
ComponentName componentName = new ComponentName(this, com.apps.MainActivity.class); // activity which is first time open in manifiest file which is declare as <category android:name="android.intent.category.LAUNCHER" />
p.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);

无法隐藏打开按钮,因为我们谈论的是应用程序而不是 google 库

如何取消隐藏图标:

PackageManager p = getPackageManager();
ComponentName componentName = new ComponentName(this, com.apps.MainActivity.class);
p.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);

重要提示:如果您需要在隐藏时对应用程序中的 main activity 执行某些操作,这会有些棘手。你将面临 ActivityNotFoundException。为了让它工作,你应该在对你的主要 activity 做任何事情之前取消隐藏图标,并在你完成后再次隐藏它。