我正在开发一款应用程序,如果用户启用了特定功能(在我的应用程序中),我将启动一个服务。 我希望即使用户退出我的应用程序,该服务仍能继续运行。 请问我该如何做到这一点? 请帮忙。
我正在开发一款应用程序,如果用户启用了特定功能(在我的应用程序中),我将启动一个服务。 我希望即使用户退出我的应用程序,该服务仍能继续运行。 请问我该如何做到这一点? 请帮忙。
这段内容来源于developer.android.com
服务是一种在后台运行的组件,用于执行长时间运行的操作或为远程进程执行工作。服务不提供用户界面。例如,服务可能会在用户处于不同应用程序时在后台播放音乐,或者在不阻塞用户与活动交互的情况下从网络中获取数据。另一个组件,如活动,可以启动服务并让它运行,或绑定到服务以与其交互。服务是作为Service子类实现的,您可以在服务开发人员指南中了解更多信息。
因此,只要创建了服务,并且用户退出您的应用,它仍然会运行。就像上面的例子。
这里有你需要的所有信息: https://developer.android.com/guide/components/services.html
onCreate()
? - Kairi San您可以使用Alarm Manager来管理任何后台服务。
对于特定的时间,您希望执行某些操作,这可以是服务。
而对于持续的进程,您可以从 Alarm Manager 启动服务。
以下是 Android 建议的一种方法:
一个已启动的服务可以使用 startForeground(int, Notification) API 将该服务置于前台状态,系统会认为用户正在积极使用该服务,因此在内存不足时,该服务不会成为被杀死的候选项。(理论上,当前前台应用程序产生极端内存压力时,该服务仍有可能被杀死,但在实际应用中,这不应该成为一个问题。)
另一种方法是在服务停止时重新启动它(系统会调用已停止服务的 onDestroy() 方法)。