gpt4 book ai didi

android - 无论如何创建一个后台进程服务,无论创建它的应用程序是否仍在运行,该服务都会运行?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:04:47 25 4
gpt4 key购买 nike

因此,我希望我的应用程序创建一个服务,该服务最初将在后台运行并执行一些操作。这个后台进程永远不会停止。它会不断地保持运行。创建或销毁后台进程的唯一方法是通过应用程序。我知道终止进程有无穷无尽的可能性。我想我希望我的应用程序能够告诉我进程是否正在运行并从该进程中检索实时信息。与此同时,能够启动和/或销毁后台进程。

那么,假设您要打开应用程序并启动/创建服务。即使当您关闭/终端/调用应用程序的 onDestroy 时,我仍然希望后台进程正在运行。销毁此服务的唯一方法是重新打开/重新创建应用程序,然后销毁它。

Android 是否允许这样的事情?有办法解决这个问题吗?

我打算创建一个 IntentService 并让它运行一个无限循环。不过,我唯一的问题是如何从 IntentService 获取信息。据我了解,IntentService 已创建并在完成后自行终止。

我还是 Android 的新手,所以不要犹豫,要具体和/或补救。

最佳答案

答案很简单。

  • 创建一个Service(不是IntentService,只是一个简单的Service)并从您的 Activity 中启动它。 IntentService 在您的情况下不起作用,因为它会在您从 onHandleIntent()
  • 返回后立即调用 stopSelf()
  • 您的服务将继续运行,直到有人明确调用它的 stop 方法或服务本身调用 stopSelf() 方法。但在内存不足的情况下,平台可能会终止您的后台服务。当设备有足够的内存时,平台将重新启动您的服务,前提是您通过在 onStartCommand() 中返回 START_STICKY 使您的服务保持粘性。
  • 在需要时从您的 Activity 中调用 stopService()。即使您的 Activity 被停止/终止并重新启动也没关系。
  • 您并不真的需要在另一个进程中启动您的服务。因为只要平台的任何实体( Activity 、服务、接收者)处于 Activity 状态,平台就会确保启动并保持您的应用程序进程处于 Activity 状态。别担心,如果您的进程正在运行但其所有 Activity 均未激活,您的应用程序将不会出现在正在运行的应用程序列表中。

希望这能回答您的问题。

关于android - 无论如何创建一个后台进程服务,无论创建它的应用程序是否仍在运行,该服务都会运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20195795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com