【问题标题】:LocationManager his Network_Provider won't enableLocationManager 他的 Network_Provider 不会启用
【发布时间】: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"/>

【问题讨论】:

  • 您应该查看融合位置提供程序。它使这个过程自动化了一点

标签: android locationmanager android-location


【解决方案1】:

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

【讨论】:

  • 您所在的位置很可能没有来自 wifi 的任何位置数据,或者范围内的蜂窝塔无法提供三角测量来获取您的位置
猜你喜欢
  • 1970-01-01
  • 2013-03-22
  • 1970-01-01
  • 2023-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-30
  • 2012-06-10
相关资源
最近更新 更多