7

我创建了一个服务并获取用户的位置数据,这样我就可以向我的用户展示附近的地方。除了 GPS 之外,我还希望此服务通过网络进行跟踪,原因有两个:1) GPS 可能未启用。2) GPS 需要很长时间才能锁定我的测试手机。

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

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。

4

3 回答 3

14

您是否在 api 级别 13 或更高级别的模拟器上运行?安卓问题 19857

于 2012-03-07T17:04:06.327 回答
2

Use wireless networksSecurity & location偏好设置中设置。是否启用?

于 2010-11-24T20:19:19.623 回答
0

可能是 Moment 没有 AGPS(这很奇怪)。但是您可以检查 usingLocationManager.getAllProviders()并查看哪些返回。你也可以只使用LocationManager.getBestProvider (Criteria criteria, boolean enabledOnly)'.

于 2010-11-24T21:22:52.013 回答