我有一个前台服务,我在其中注册位置更新,以及电池意图的意图过滤器Intent.ACTION_BATTERY_CHANGED
,以及一个LocalBroadcast
. onDestroy
一旦该服务死亡,所有这些我都会在我的服务中删除。
我还更改了onStartCommand
from START_STICKY
to中的返回整数,START_NOT_STICKY
但这没有效果。
我记录了该服务何时启动和销毁以及我的主要活动,似乎该服务只是自行启动而没有任何活动。
问题是它是一个前台服务,所以它会附带一个通知。这意味着当它再次随机启动时,用户会看到通知,我不希望服务自行运行。
所以回顾一下。
- 这是一个绑定的前台服务。
- 我返回START_NOT_STICKY
-onStartCommand
当我不再需要它并关闭应用程序时,我解除绑定,调用 stopService 并调用服务的 onDestroy,这是我们取消注册所有接收器的地方。- 在此之后随机启动该服务。