0

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

4

3 回答 3

2

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

再三考虑,您可以通过检查ActivityManager.getRunningServices()来定期监视彼此的两个服务。当一个服务被杀死时,另一个可以重新启动它。这可能会被视为您的恶意活动,并且您可能会收到非常负面的评论。

于 2012-11-05T19:48:45.667 回答
0

“我为用户而战”。

我会对一个不允许我取消它正在运行的服务的应用程序感到沮丧。

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

于 2012-11-05T21:43:04.427 回答
0

我要回避一个明显的问题:

你为什么想做这个?

并给你一个可行的答案。您需要两项服务。每个人都监视另一个人。如果用户杀死服务 A,服务 B 会重新启动它。如果用户杀死服务 B,服务 A 会重新启动它。

这些服务必须非常快速地响应并重新启动服务。这将防止用户同时杀死他们两个。所以你需要设计一个非常快速的心跳服务,但这应该是可能的。当然,这不会阻止用户简单地卸载您的应用程序。

于 2012-11-05T19:57:35.853 回答