安卓位置在没有GPS时不可用



我希望位置信息可用于我的应用程序,如果可用,则从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");

我的清单.xml设置如下:

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

请有任何想法。 当 GPS 不可用时,如何启用定位服务

答案只是启用网络提供商以及GPS提供商。

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

我误读了权限文档。仅仅因为它说如果你使用精细(GPS)权限,你隐式地获得粗略(网络)权限,并不意味着你不需要在代码中同时启用它们。

最新更新