2012-05-30 83 views
1

我有一個使用GPS的應用程序。GPS正在搜索太久

我的問題是,當我到達GPS正在尋找信號並找不到它的部分時,它只是繼續搜索。這會殺死電池。

我用這個:

this.locationManager.requestLocationUpdates(this.provider, 0, 
              0, pendingIntent); 

,但只設置刷新率。如果GPS沒有被鎖定,它會繼續嘗試。

我想讓它在試圖鎖定幾分鐘後停止。

我該怎麼辦?

+1

嘗試將第二個參數從0更改爲更高的值.. 0通知位置管理器不斷檢查gps狀態 – Gryphius

+1

以及您在哪裏嘗試?在模擬器中?在辦公室 ?這兩個地方都不會返回GPS值,你必須在開闊的天空領域嘗試它的設備。 – Lucifer

+0

Locifer-我想修復它不能得到GPS時的問題。我希望它停止尋找它無法找到它的信號。 Gryphius - 就像你之前說過的一樣。如果它有一個鎖,它會根據這行代碼刷新,如果它不能鎖定,它會嘗試永久。 – roiberg

回答

1

如果您不想經常檢查新位置,則必須指定最短時間和最短距離。結構是這樣的:

public void requestLocationUpdates (String provider, long minTime, float minDistance, PendingIntent intent) 

的更多信息,請點擊此鏈接:http://developer.android.com/reference/android/location/LocationManager.html#requestLocationUpdates%28java.lang.String,%20long,%20float,%20android.app.PendingIntent%29

編輯:對不起,我不明白你的問題。檢查這個鏈接,你必須做的是設置一個超時。希望這個幫助。 How to time out GPS signal acquisition

+0

再次,即時通訊不談論檢查位置的頻繁,即時通訊談論每次搜索GPS的時間。每次搜索時,我都不希望他搜索超過五分鐘。無論如何,謝謝你的回答。 – roiberg