我正在
Android上安装一个服务,将其安装在手机/平板电脑上.许多人可以使用该平板电脑,但只有选定的应该有权关闭该服务.我该如何实现?我和谷歌发现一些选择:
>制作用户帐户:有很多应用程序,但是它们没有指定是否在一个帐户中运行的服务也可以为其他帐户运行.
>在关闭服务之前提示密码:有很多stackoverflow Q.for这个但看起来不可能.
>用户关闭时重新启动服务:重新启动可能会导致数据丢失,因为我的服务正在与其他设备持续通信以收集数据.
新选项:
我有另一个想法,使它的工作:我将使它的系统应用程序,以便它会警告用户,当他试图阻止它.对于系统应用程序,当用户从设置中按下“停止”按钮时,会弹出警告消息:“关闭此应用程序可能会导致..(blah blah)….”.你知道哪个意图被抛出来弹出这个消息?我想我可以在这里使用这个意图,并禁用此消息中的“确定”选项
.
解决方法
即使用户无法停止服务,手机仍然可以关闭电源,耗尽电池或者丢失网络连接.甚至可以想象,如果资源不足,Android可能会杀死服务进程.因此,代码应该准备好处理这些事件中潜在的数据丢失.
我不知道如何检测服务何时停止,但总是有AlarmManager定期轮询.