请求按网络更新位置的问题

时间:2010-11-24 20:07:32

标签: android permissions locationmanager

我已经创建了一个服务并抓取了有关用户的位置数据,因此我可以在附近的地方显示我的用户。我希望此服务除了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。

3 个答案:

答案 0 :(得分:14)

你是在api 13级或更高级别的模拟器上运行的吗? Android issue 19857

答案 1 :(得分:2)

Use wireless networks偏好设置中设置

Security & location。是否已启用?

答案 2 :(得分:0)

可能是片刻没有AGPS(这会很奇怪)。但是您可以使用LocationManager.getAllProviders()进行检查,看看哪些回来了。您也可以使用LocationManager.getBestProvider (Criteria criteria, boolean enabledOnly)'