2017-06-14 52 views
-1

我希望位置信息可用於我的應用程序,如果可用,還可以從GPS等其他方式(如Wifi)獲取位置信息。當沒有GPS時Android位置不可用

位置信息正常工作與GPS,但如果我把 設置 - > Personal->位置模式=電池節能 行使非GPS的情況下,或者只是運行應用程序,這些地方是GPS進不去,位置信息已不再提供給應用程序。

在我的代碼,這個測試返回false當GPS不可用:

 string Provider = LocationManager.GpsProvider; 
     if (m_LocMgr.IsProviderEnabled(Provider)) 
      Log.Info("location available"); 
     else 
      Log.Info("location NOT available"); 

我的manifest.xml設置如下:

... 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-feature android:name="android.hardware.location.gps" /> 
... 

任何想法,請。當GPS不可用時,如何啓用位置服務

+1

「LocationManager」的網絡供應商呢? – Blackkara

+0

感謝Blackkara。這是問題所在。 – MHugh

回答

0

答案只是爲了使GPS網絡提供商能夠使用GPS。

 Provider = LocationManager.NetworkProvider; 
     if (m_LocMgr.IsProviderEnabled(Provider)) 
      m_LocMgr.RequestLocationUpdates(Provider, 2000, 1, this); 

我誤解了權限文檔。僅僅因爲它說如果你使用Fine(GPS)權限,你隱式獲得粗糙(網絡)權限,並不意味着你不需要在代碼中啓用它們。