我有一个必须永久运行的后台服务。该服务只需与我的活动进行交互。
如果服务仍在运行,如何检查活动恢复?是否有比服务类中的静态变量更好的可能性?
在单独的进程中使用远程服务(延长服务生命周期)是否有利,以便在活动进程被终止时服务仍然存在?
答案 0 :(得分:7)
我有必须的后台服务 永久地运行。
This is not possible。用户或Android会在某些时候终止您的服务。请重新考虑您的架构。
如果我检查活动恢复如何 该服务仍在运行?
一般来说,你没有。
是否有比服务类中的静态变量更好的可能性?
如果用户或Android取消您的服务,那将无效。
使用遥控器是否有利 在一个单独的过程中服务(到 延长使用寿命)这样的时候 活动过程被杀死了 服务还活着吗?
远程服务与活动销毁后服务是否运行无关。如果您致电startService()
,该服务将独立于任何活动运行,直到:
stopService()
stopSelf()
答案 1 :(得分:3)
为什么要知道服务是否正在运行?
如果你需要它的东西,只需抛出一个Intent
,如果它没有运行,它将从意图开始。
关于第二个问题:
当您的活动关闭时,您的服务不会“死亡”。
答案 2 :(得分:3)
在startforeground()
中启动该服务。它将增加服务的时间跨度。