我希望我的应用程序可以使用GPS获取位置信息(如果可用),如果没有其他方式,例如Wifi。
位置信息适用于GPS,但如果我转 设置 - >个人 - >位置模式=省电 要运行非GPS场景,或只是运行无法访问GPS的应用程序,应用程序将无法再使用位置信息。
在我的代码中,当GPS不可用时,此测试返回false:
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不可用时启用位置服务
答案 0 :(得分:0)
答案只是启用网络提供商和GPS。
Provider = LocationManager.NetworkProvider;
if (m_LocMgr.IsProviderEnabled(Provider))
m_LocMgr.RequestLocationUpdates(Provider, 2000, 1, this);
我误读了权限文档。仅仅因为它说如果你使用精细(GPS)权限你隐式获得粗略(网络)权限,并不意味着你不需要在代码中同时启用它们。