2017-06-14 53 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)权限,你隐式获得粗糙(网络)权限,并不意味着你不需要在代码中启用它们。