服务不可用-Geocoder Android [重复]
Posted
技术标签:
【中文标题】服务不可用-Geocoder Android [重复]【英文标题】:Service not Available - Geocoder Android [duplicate] 【发布时间】:2011-10-29 20:52:12 【问题描述】:地理编码器在从地址获取纬度和经度时遇到了一点问题:
这是我的代码:
for (Garage g : XMLGarage)
List<Address> address;
address = coder.getFromLocationName(
g.getAddress(), 5);
if (address != null)
Address location = address.get(0);
g.setLatitude(location.getLatitude());
g.setLongitude(location.getLongitude());
...
错误是:
08-18 14:28:56.026: WARN/System.err(359): java.io.IOException: Service not Available
08-18 14:28:56.026: WARN/System.err(359): at
android.location.Geocoder.getFromLocationName(Geocoder.java:178)
08-18 14:28:56.026: WARN/System.err(359): at
com.amt.android.garage.Garage.postData(Garage.java:269)
08-18 14:28:56.026: WARN/System.err(359): at
com.amt.android.garage.GarageForm$2.onClick(GarageForm.java:86)
08-18 14:28:56.026: WARN/System.err(359): at
android.view.View.performClick(View.java:2485)
08-18 14:28:56.026: WARN/System.err(359): at
android.view.View$PerformClick.run(View.java:9080)
08-18 14:28:56.036: WARN/System.err(359): at
android.os.Handler.handleCallback(Handler.java:587)
08-18 14:28:56.036: WARN/System.err(359): at
android.os.Handler.dispatchMessage(Handler.java:92)
08-18 14:28:56.036: WARN/System.err(359): at
android.os.Looper.loop(Looper.java:130)
08-18 14:28:56.036: WARN/System.err(359): at
android.app.ActivityThread.main(ActivityThread.java:3683)
08-18 14:28:56.036: WARN/System.err(359): at
java.lang.reflect.Method.invokeNative(Native Method)
08-18 14:28:56.036: WARN/System.err(359): at
java.lang.reflect.Method.invoke(Method.java:507)
08-18 14:28:56.036: WARN/System.err(359): at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
08-18 14:28:56.046: WARN/System.err(359): at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-18 14:28:56.046: WARN/System.err(359): at dalvik.system.NativeStart.main(Native
Method)
【问题讨论】:
我想指出,即使这个问题被标记为重复(这是正确的),这个问题给出的最佳答案是另一个问题没有的有效的、可能的解决方案提供。 请先重启您的设备,这可能足以解决您的问题。 【参考方案1】:最近安卓设备出现问题,地理编码器无法正常工作: http://code.google.com/p/android/issues/detail?id=38009
重启似乎可以解决问题
【讨论】:
建议重新启动是一个糟糕的解决方案。当它是正确的解决方案时,它更可怕。为我工作。 2 片有这个问题。使用 Google play 服务升级,Geocoder 不起作用。重启解决了这个问题。来谷歌... OK.. 我只是尝试编辑帖子,但我的编辑被拒绝了。我只是想分享我的经验:重新启动解决问题只是......暂时的。错误又回来了。作为替代方案,可以使用 Google Map API。我在这里做了一个完整的工作示例:***.com/questions/9272918/… 我认为这是一个愚蠢的解决方案,但它奏效了! @RichardLeMesurier 2017 在这里......它仍然可能发生在 API 25 目标上【参考方案2】:如果地理编码提供程序失败并且无法对您的位置进行地理编码,您偶尔会收到此错误。
查看这些相关帖子:
Geocoder.getFromLocation throws Exception
Geocoder.getFromLocation throws IOException on Android emulator
如果不是这种情况,请确保您的 Manifest 中有 Internet 权限:
<uses-permission android:name="android.permission.INTERNET" />
【讨论】:
服务不可用 - 地理编码器 Android 当我在一些熟 rom 中收到此错误时,我编写了这个库,希望对您有用。 github.com/dnocode/gapis【参考方案3】:先尝试更新位置。如下所示
locationManager.requestLocationUpdates(bestProvider, 20000, 1, this);
参考here。
【讨论】:
以上是关于服务不可用-Geocoder Android [重复]的主要内容,如果未能解决你的问题,请参考以下文章
Android:java.io.IOException:Android Geocoder.getFromLocation() 时服务不可用
调用 geoCoder.getFromLocation() 时服务不可用