如何标记我的Android服务没有被用户停止?

时间:2012-11-05 19:44:36

标签: android service

我的Android应用程序中有一项服务,我需要它永远不会停止。 如何标记我的服务,以便用户永远不会停止它? 如果用户转到:“设置 - 应用程序 - 运行服务 - 我的服务”并单击“停止”,则不应停止我的服务。 我怎么能这样做?

3 个答案:

答案 0 :(得分:2)

您无法阻止停止服务。同样的方法,你不能阻止某人强行关闭你的应用程序。即使有可能,用户仍然可以通过卸载您的应用来终止您的服务。为什么不希望服务停止?

第二个想法是,您可以通过选中ActivityManager.getRunningServices()来定期监控彼此的两项服务。当一个服务被杀死时,另一个服务可以重启它。这可能被视为您的恶意活动,您可能会收到非常负面的评论。

答案 1 :(得分:0)

我将回避这个显而易见的问题:

你为什么要这样做?

并给你一个可行的答案。你需要两个服务。每个人监视另一个。如果用户终止服务A,则服务B重新启动它。如果用户终止服务B,则服务A重新启动它。

服务必须非常快速地响应并重新启动服务。这将阻止用户立即杀死它们。因此,您需要设计一个非常快速的心跳服务,但它应该是可能的。当然,这不会阻止用户简单地卸载您的应用程序。

答案 2 :(得分:0)

“我为用户而战”。

我会对一个不让我取消正在运行的服务的应用感到沮丧。

我想不出一个用例,其中 app (不是系统中的某些东西)应该阻止用户取消某些东西。当然,如果服务没有运行,您应该通知用户,并提供一种简单的方法来重新启动它。