我希望在使用系统权限时创建系统服务。该服务应与活动绑定,并符合以下要求
为了达到第一个要求,我通过使用Context.bindService()创建绑定系统服务并添加了android:persistent =" true"来创建我的服务。到服务清单,通知系统此服务应始终保持运行。
不幸的是在添加了android:persistent =" true"我无法通过Context.unbindService()或通过调用Context.stopService()
来停止服务是否可以使用android停止服务:persistent =" true"如果不是,我的方法应该是什么才能达到这两个要求
答案 0 :(得分:0)
我刚刚经历过类似的事情。 As per this answer,您需要拨打stopService()
,然后unBindService()
- 按此顺序拨打电话。将它们放在主机活动的onDestroy
方法中。另外,如果您的服务被AlarmManager定期唤醒,我也一定要打电话给cancel()
。
您可能知道,您可以在ApplicationManager中检查运行服务。在测试这些更改时,强制停止使用旧代码运行的任何服务。
关于persistent
标志,我认为as per this,它仅对系统应用程序开发人员有效。在常规的市场应用程序中,我认为该标志被忽略。