2016-06-23 13 views
0

我再次面臨一個問題。我正在設置一個alarmManager來啓動一項服務,每分鐘獲取用戶的位置。我的問題是,這是最佳做法嗎?要每分鐘重新創建服務,請創建並註冊新的Location偵聽器並等待一個OnLocationChanged回調?還是有更簡單,更漂亮的方式呢?此外,不要僞造,屏幕將關閉,設備睡着,所以我需要與WakeLock在服務中獲取用戶位置練習

回答

0

您可以簡單地啓動服務一次,獲得一個喚醒鎖,然後輪詢的位置與一個時間間隔爲60秒。這將消除每次重新創建服務的需要。但是,如果有必要,您的服務可能會被Android殺死。您可以通過在onStartCommand()中返回START_STICKY來自動重啓。

作爲一般規則,每分鐘獲取一個位置將會非常耗電,應該避免使用,特別是在很長一段時間內。