我正在開發一個應用程序,該應用程序每3小時根據當前位置檢查天氣。我使用FusedLocationProviderApi獲取位置,並將pendingIntent用於啓動IntentService的BroadCastReceiver。使用FusedLocationProviderApi啓動定期位置更新或使用AlarmManager代替
在FusedLocationProviderApi中,您可以指定創建LocationRequest時的間隔期。因此,如果我將間隔指定爲3小時,並將最快間隔指定爲3小時(我不想在此之前獲得更新),那麼如果在位置更新的時候位置不可用,會發生什麼情況?
我還會在預定時間獲取位置更新意向嗎?如果位置不可用,我想使用最後一個已知位置,但是我需要確定我仍然在預定的時間獲得了PendingIntent。
或者使用警報管理器來處理定期工作並請求IntentService中的位置更新更好嗎?
感謝
謝謝。我認爲如果設備處於睡眠模式(不必在等待期間保持喚醒狀態),那麼使用PendingIntent將位置更新應用到WakefulBroadcastReceiver(在IntentService中啓動,該請求會請求位置的天氣)。 – stefanb
您對FusedLocationProviderApi定期報告的可靠程度有任何經驗嗎?它與AlarmManager一樣可靠嗎? – stefanb
請檢查這個庫[cwac-locpoll](https://github.com/alexbirkett/cwac-locpoll)。這正是您需要的,但使用LocationManager。您可以實施融合位置提供商而不是舊位置提供商。 – Blackkara