如何防止用户在android中强制停止服务?

问题描述:

我有一个requiremet,我想继续在背景中运行服务,它不能由用户顶部或它不能强制停止进入管理应用程序。有什么方法可以在用户尝试强制停止服务时收到通知?或者以任何方式在android中隐藏我们的应用程序。如何防止用户在android中强制停止服务?

我已经完成了START_STICKY,但它无法工作。 它可以写我们的代码在android系统服务(或系统代码),不能被杀死或内核级别的编码?

我的主要标准是,我的服务不能被用户被杀死

请帮助我,这

感谢提前

+1

如果你可以阻止他们停止它们,他们会只是恼火,最终卸载它。什么原因阻止用户控制在自己的设备上运行的内容? – weston 2012-02-07 13:09:17

+0

我同意@weston--从用户声音中剔除控制声音,并且可能会惹恼他们。 – 2012-02-08 00:16:31

+0

@ weston - 但我的应用程序是作为一个间谍电话这就是为什么我想要prevant用户来阻止它 – 2012-02-08 05:25:34

首先,托管服务的过程总是可以通过杀死系统是否处于内存不足的情况。你的服务甚至不会注意到它已经被杀死,它甚至不会得到onDestroy()。如果您的服务正在做最终用户直接意识到的事情(例如播放音乐),您应该在前台启动服务(使用startForeground),以减少系统在内存不足情况下将其杀死的可能性。

如果某个服务被最终用户或系统杀死,它将在需要时或存在可用资源时重新启动。

说了这么多,你想做的事情是不可能的,通过设计。要么你的标准是基于对Android工作方式的一些误解,要么你的应用程序应该做一些它想要从最终用户隐藏的东西(这是非常可疑的)。

+0

thanx回答bergsell – 2012-02-08 05:16:58

+0

我的服务没有做到知道最终用户它将作为间谍使用最终用户。用户不知道应用程序是否安装在他们的电话中 我可以这样做启动两个服务,它将监视其他服务是否正在工作(或停止)? – 2012-02-08 05:23:29

+0

很抱歉,除非您的目标是固定设备,或者您可以访问目标设备上的平台,否则您无法完成您想要执行的操作,因为Android旨在保护最终用户免受应用程序侵害这不符合用户的最佳利益。 – bergsell 2012-02-08 06:17:06