我创建了一个Android应用,需要让用户很难停止应用在启动过程中产生的主要服务。这是一个有根的Jelly Bean 4.1.2设备。以下是我到目前为止采取的一些步骤:
android:allowClearUserData="false"
包含在AndroidManifest中。到目前为止,我采取的步骤负责用户停止/禁用应用/流程的正常方式;但是,当您在“设置”中检查正在运行的应用列表时,>应用程序管理器 - >在运行时,用户仍然可以点击应用程序启动的长时间运行服务上的“停止”按钮(参见下图):
有没有办法阻止用户在这里停止服务?或者,当用户点击此停止按钮时,重启服务的最佳方法是什么?我尝试在服务的onDisable()函数中添加一些代码,但在这种情况下似乎没有调用该函数。
任何帮助将不胜感激!
答案 0 :(得分:1)
如上所述,除非以root身份执行,否则没有此选项,但是您可以在启动不时运行的服务时创建AlarmManager,如果服务未运行,系统将运行,它将被创建试。
答案 1 :(得分:0)
有没有办法阻止用户在这里停止服务?
让您的应用成为设备管理员可能会阻止此操作。它肯定会阻止“强制停止”选项。
我尝试在服务的onDisable()函数中添加一些代码,但在这种情况下似乎没有调用该函数。
由于onDisable()
上没有Service
,因此这并不奇怪。
这是一个企业的安全应用程序,因此预计会持续运行。
“企业的安全应用程序”没有任何内在要求“能够持续运行”。