2011-05-05 51 views
0

朋友,如何在Android應用程序閒置時停止Android中的GPS更新?

我已經創造了一種我收到的GPS定位onCreate方法和

的onPause方法我刪除位置更新的應用程序。

採取GPS更新後,我離開我的手機待機和整個晚上它在空閒模式和我的應用程序在運行它,在早上bettery下降是由於GPS我猜。

任何一個指導我如何處理這種情況在該方法中,我應該停止使用GPS應用程序是否比閒置的onPause其他()?

任何幫助,將不勝感激。

+0

難道你設置的確認 - 電池使用你的應用程序在使用GPS進行許多小時的事實? – 2011-05-05 17:04:13

+0

確實會記錄Android應用程序消耗更多電量的這類信息嗎?如果是,那麼如何檢查它請多指導一下.. – UMAR 2011-05-05 19:04:35

+1

它在*設置/關於手機/電池使用/應用程序名稱*。它是由CPU使用率,數據發送,GPS使用情況等細分。 – 2011-05-05 19:16:18

回答

0

如果停止接收廣播(因此註銷您的活動的onPause()方法,你的廣播接收器),沒有理由爲什麼你的應用程序將不斷收到來自的LocationManager更新。

1

停止onPause()位置更新通知是好的,但請注意兩件事情。

  1. 如果GPS仍然亮着,它仍然會吃掉你的電池。
  2. 按照activity life cycle如果你開始聆聽位置更新在onCreate()並停止它在onPause(),那麼當你回到你的應用程序到前臺就不會註冊再次更新,可以考慮註冊運動到onResume()
+0

如果手機處於閒置狀態,您是否認爲它會調用該活動的onPause方法?根據你的觀點1,如果onPause仍然存在,手機GP可以保持開啓狀態嗎? – UMAR 2011-05-05 19:06:36

1

我問了一個類似的問題,如果用戶在室內移動信號無法找到時超時GPS。我在LocationListener類中啓動了一個計時器,並在5-8秒內未找到信號時刪除更新。這裏有一些代碼,這可能有助於How to time out GPS signal acquisition