LocationManager 他的 Network_Provider 不会启用

Posted

技术标签:

【中文标题】LocationManager 他的 Network_Provider 不会启用【英文标题】:LocationManager his Network_Provider won't enable 【发布时间】:2014-06-12 22:52:19 【问题描述】:

当我尝试从 wifi 获取位置时遇到问题。它在 GPS 上工作,我尝试以相同的方式获取位置,但在调试器中看到 isNetworkEnabled 始终为假。 我该如何解决这个错误?

// getting GPS status, this works
isGPSEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);

// getting network status, this stays on FALSE
isNetworkEnabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);

androidManifest:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<!-- The following two permissions are not required to use
     Google Maps Android API v2, but are recommended. -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

【问题讨论】:

您应该查看融合位置提供程序。它使这个过程自动化了一点 【参考方案1】:

有些手机信号塔不提供定位服务,所以可能就是这样。您还需要在设备的位置设置中启用通过网络和 wifi 进行位置估计,如下所示:isProviderEnabled(LocationManager.NETWORK_PROVIDER) return false

【讨论】:

您所在的位置很可能没有来自 wifi 的任何位置数据,或者范围内的蜂窝塔无法提供三角测量来获取您的位置

以上是关于LocationManager 他的 Network_Provider 不会启用的主要内容,如果未能解决你的问题,请参考以下文章

java.net.UnknownServiceException: CLEARTEXT communication to www.httpbin.org not permitted by networ

LocationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER) 在 Galaxy S7 上总是返回 NULL(仅限)

locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER) 使用 Wi-Fi 总是返回 false

我应该在 locationManager:didFailWithError: 中发送 [locationManager stopUpdatingLocation] 吗?

locationManager.getLastKnownLocation() 返回 null

为啥 LocationManager 没有 lastKnown 位置?