当未经授权的人从设备设置中杀死服务时,如何重启我的服务?当授权用户想要停止服务时,我提供了一个需要密码的UI。
答案 0 :(得分:5)
建议在用户(未经授权的人)从设备设置中删除服务时重启我的服务的方法
他们不是“未经授权”。这是他们的设备,而不是你的设备。
在Android 3.1中(可能稍早),在用户启动您的某项活动之前,您将无法以任何方式重新启动服务。如果用户强制停止您的进程,则在用户手动启动您之前,您将无法再次运行。
为了停止服务,我提供了一个需要密码的用户界面
那不会有效。无论您是否喜欢,用户都可以通过任务杀手或“管理服务”屏幕停止服务。请尊重用户的意愿。
答案 1 :(得分:3)
我担心你会打击系统来试图实现这个目标。该系统专为普通消费者拥有的设备而设计。如果用户希望您的应用停止,那么您无法阻止他们停止该应用。即使您确实设法在重新启动服务时提出了一些有效的方法,但可能会有一些任务杀手应用程序可以抓住您并在每次重新启动时开始自动关闭。
底线是,这是他们的设备,他们可以选择正在运行的内容和不运行的内容。我知道有一个完全合理的用例需要密码来阻止某些东西,但必须在系统级别处理才能100%有效。
答案 2 :(得分:0)
重新启动在运行时终止的任何服务,然后使用
public int onStartCommand(Intent intent,int flags,int startId)
{
.........//your service coding //
........................
return Service.START_STICKY
}