gpt4 book ai didi

android - 是否可以使用 android :persistent ="true" 停止服务

转载 作者:太空狗 更新时间:2023-10-29 15:00:03 28 4
gpt4 key购买 nike

我希望在使用系统权限时创建系统服务。该服务应该绑定(bind)到一个 Activity 并符合以下要求

  1. 服务不会被系统杀死。
  2. 根据要求,可以停止服务。

为了实现第一个要求,我通过使用 Context.bindService() 创建了我的服务,创建了一个绑定(bind)的系统服务,并将 android:persistent="true"添加到服务 list 中,通知系统该服务应保持运行所有时间。

不幸的是,在添加 android:persistent="true"之后,我无法通过 Context.unbindService() 或调用 Context.stopService() 停止服务

是否可以使用 android:persistent="true"停止服务,如果不能,我应该采用什么方法来实现这两个要求

最佳答案

我刚刚经历过类似的事情。 As per this answer ,您需要先调用 stopService(),然后再调用 unBindService() —— 按顺序调用两者。将它们放在宿主 Activity 的 onDestroy 方法中。此外,以防万一您的服务像我一样被 AlarmManager 定期唤醒,请确保也调用 cancel()

您可能知道,您可以在 ApplicationManager 中检查正在运行的服务。在测试这些更改时强制停止您可能使用旧代码运行的任何服务。

关于 persistent 标志,我认为,as per this ,它仅对系统应用程序开发人员有效。在常规市场应用程序中,我认为该标志被忽略了。

关于android - 是否可以使用 android :persistent ="true" 停止服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27677765/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com