我正在創建一個應用程序(用於教育目的),它每隔30分鐘記錄用戶的位置,並使用戶能夠查看地圖上的所有位置。我不希望更新比30分鐘更頻繁,但它們是。requestLocationUpdates minTime參數目的
這是我怎麼稱呼requestLocationUpdates
:
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 30 * 60 * 1000, 0, pe);
現在,文件明確表示:
位置更新之間的時間絕不會低於minTime
但我在這裏看到了一些不同的答案(例如This answer)。
看起來好像我從GPS獲得更新。 GPS圖標永遠不會關閉,並且更新速率會大於1次更新/秒。所以,我有2個問題在這裏:
- 的
minTime
參數不符合其目的,甚至還不如一個提示(是的,一個提示到30分鐘更新率導致超過更新第二...)。那麼它做了什麼? - 有沒有其他方法可以做到這一點?我不希望GPS始終處於啓用狀態,因爲它會消耗我的電池太快。也許我可以安排每30分鐘重複的鬧鈴,並撥打
requestSingleUpdate
?
謝謝,我會看看那裏。我不認爲Handler是一個選項,因爲我的應用程序可能在更新之間死機,但使用'AlarmManager'類似。我的設備運行2.3.3,但有趣的是,我永遠不會猜測你對第一個問題的回答。 – Jong
在這種情況下,一個AlarmManager是要走的路。如果您不想打擾用戶,也可以使用後臺服務來獲取並保存新位置。 – Sam
我會和AlarmManager一起去,謝謝。 – Jong