Ứng dụng của tôi kiểm tra định kỳ vị trí bằng cách sử dụng báo thức đến BroastcastReceiver
bắt đầu dịch vụ. Tôi biết tôi nên mua một chiếc wakelock trước khi tôi bắt đầu dịch vụ nhưng câu hỏi của tôi là khi nào tôi có thể phát hành nó?Android - Khi sử dụng LocationManager.requestLocationUpdates, tôi có cần WakeLock không?
Nếu tôi nhả wakelock sau khi gọi requestLocationUpdates
, thiết bị có thể chuyển sang chế độ ngủ và không gọi số LocationListener
hoặc thiết bị luôn đánh thức để cập nhật và vẫn tỉnh táo cho đến khi cuộc gọi lại được trả lại không? Tôi miễn cưỡng để giữ wakelock vì điều đó sẽ ngăn chặn các thiết bị từ ngủ giữa các bản cập nhật cho đến khi tôi được thực hiện với vị trí.
Dự đoán được đào tạo một chút của tôi là yêu cầu cập nhật vị trí sẽ giữ một wakelock để bạn có thể phát hành. Tuy nhiên, bạn đang làm gì mà bạn cần cập nhật vị trí khi điện thoại đang ngủ? – Falmarri
Tôi nghĩ có thể có rất nhiều trường hợp sử dụng để cập nhật vị trí trong khi thiết bị đang ngủ, ví dụ: ghi lại các tuyến đường GPS của một cuộc hành trình. –
Bạn có thể xem [CommonsGuy's 'WakefulService'] [1], theo tài liệu có thể xử lý các phần wakelock cho bạn. [1]: http: //github.com/commonsguy/cwac-wakeful#readme –