Android - 使用LocationManager.requestLocationUpdates时,是否需要WakeLock?

noa*_*oah 12 android android-wake-lock

我的应用程序使用警报定期检查位置以BroastcastReceiver启动服务.我知道在开始服务之前我应该​​获得一个唤醒锁,但我的问题是我什么时候可以释放它?

如果我在通话后释放唤醒锁requestLocationUpdates,设备是否可以进入休眠状态并且不会打电话给我,LocationListener或者设备是否会一直唤醒以提供更新并保持清醒直到回叫返回?我不愿意抓住唤醒锁,因为这会阻止设备在更新之间休眠,直到我完成该位置.

noa*_*oah 2

因此,根据我的经验(并在此处的评论中确认),在调用后释放唤醒锁requestLocationUpdates似乎不是问题。不幸的是,获得明确答案的唯一方法是询问平台开发人员,但我没有收到任何回复

  • 这是对的。我不是平台开发人员,但有一个有效的 GPS 跟踪应用程序,可以在设备“睡眠”时正常运行...基本上每个后来的位置更新都带有自己的“WakeLock”,允许您接收“Intent”。在你的接收器中,如果你想处理该事件,你需要获取(并稍后释放)你自己的WakeLock。 (2认同)