通过networking请求位置更新的问题

我已经创build了一个服务,并抓取有关用户的位置数据,所以我可以显示我的用户附近的地方。 除了GPS外,我还希望通过networking跟踪此服务,原因有二:1)GPS可能未启用。 2)GPS需要相当多的时间来locking我的testing手机。

当我的服务执行以下行时:

mNETEnabled = mLocationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER); 

我得到以下错误:

 11-24 14:00:41.693: ERROR/LocationManagerService(51): isProviderEnabled got exception: 11-24 14:00:41.693: ERROR/LocationManagerService(51): java.lang.IllegalArgumentException: provider=network 11-24 14:00:41.693: ERROR/LocationManagerService(51): at com.android.server.LocationManagerService._isProviderEnabledLocked(LocationManagerService.java:1385) 11-24 14:00:41.693: ERROR/LocationManagerService(51): at com.android.server.LocationManagerService.isProviderEnabled(LocationManagerService.java:1359) 

为什么是这样? 我是否错过了Manifest的许可? 我的清单中有ACCESS_COARSE_LOCATION。

  • 每当我要求位置更新时,我应该使用android LocationManager.getBestProvider吗?
  • 如何阻止位置经理?
  • Android GPS位置的getAltitude()如何工作
  • 在不使用gps或互联网的情况下获取用户的当前位置名称,但在android中使用Network_Provider
  • 如何停止位置pipe理器?
  • 如何在Fragment中获取对LocationManager的引用
  • GPS Android - 只定位一次
  • GPS的Android - 获取定位只有一次
  • 你是在模拟器上运行的API级别13或更高? Android问题19857

    Security & location偏好设置中Use wireless networks设置。 启用了吗?

    可能是那一刻没有AGPS(这将是奇怪的)。 但你可以使用LocationManager.getAllProviders()来查看哪些返回。 你也可以使用LocationManager.getBestProvider (Criteria criteria, boolean enabledOnly)'