2012-12-09 77 views
4

我想從NETWORK_PROVIDER得到準確的位置保持GPS關閉,以節省電池。這似乎是不可能的,因爲當指定了ACCESS_FINE_LOCATION時,即使沒有向GPS_PROVIDER請求位置,也會打開GPS。如何使ACCESS_FINE_LOCATION保持GPS關閉?

我已經加入:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 

入清單。我需要這樣才能避免android混淆準確的位置。

我註冊的更新只用NETWORK_PROVIDER而不是GPS_PROVIDER

myLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 
     60000, 0, locationListener); 

GPS開啓進不去。我怎樣才能避免它(不強制用戶禁用GPS,實際上工作,但是不受歡迎)?

+0

使用此方法並檢查您的提供商是否使用GPS。 http://developer.android.com/reference/android/location/LocationProvider.html#requiresSatellite() – nayab

回答

2

聽起來很奇怪,如果你還沒有從gps-provider請求位置更新,它不應該啓動GPS。

儘管讓我給你一個建議 - 不要指望網絡提供商給你'精細'的準確性,除非你坐在一個谷歌知道位置的wifi上。

基於手機信號塔的定位精度通常約爲500-2000米,也許在市中心爲3-500米。

0

如果您的定位技術被禁用以節省電力,您如何獲得準確的位置?這就像是期待一輛汽車帶你上班,但不想把汽油放進去。 tanstaafl。

如上所述,如果您身處Google知道的幾個APN,WiFi定位可以爲您提供非常好的位置準確性。如果有充足的時間和足夠的人使用他們的手機,Google最終會學習到每個不移動的APN。