没有GPS时,Android位置不可用

时间:2017-06-14 08:41:39

标签: android gps location android-manifest locationmanager

我希望我的应用程序可以使用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不可用时启用位置服务

1 个答案:

答案 0 :(得分:0)

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

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

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