通过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。

Solutions Collecting From Web of "通过networking请求位置更新的问题"

你是在模拟器上运行的API级别13或更高? Android问题19857

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

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