当应用关闭并且屏幕被锁定时,为什么我的服务仍在工作

时间:2017-03-30 17:32:41

标签: android service

总是当我创建服务时应该例如听取服务器上的更改我总是一直使用WakefulBroadcastReceiverLocationListener来轮询服务器,因为当我尝试在Service内部进行无限循环,一旦屏幕被锁定,它就会停止。 但最近在我的服务中,我正在使用{{1}}检查位置。我没有使用AlarmManager,因为位置应该只检查一次,但我忘记在使用后删除监听器,并注意到即使我关闭应用程序并锁定屏幕它仍然有效。有人可以向我解释为什么会这样吗?我认为当屏幕被锁定时服务应该停止

1 个答案:

答案 0 :(得分:0)

在服务类中设置START_NOT_STICKY。

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    Log.d(TAG, "onStartCommand() called with: intent = [" + intent + "], 

    return START_NOT_STICKY;
}