geoCoder.getFromLocationName在Froyo中抛出IO异常

时间:2010-08-26 18:02:14

标签: android android-2.2-froyo

您好我最近注意到,当在Android 2.2(Froyo)上运行函数geoCoder.getFromLocationName()时,我会收到IOExeption(其他SDK版本不会出现这种情况)。

经过一些研究后,我发现了一些建议来添加以下Permisions:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

然而,这并没有解决问题,这似乎是一个Android SDK Bug。 这个问题有解决方案吗?

编辑:这是堆栈跟踪,虽然内部堆栈跟踪为空并不是特别有用,所以不是很好。

  

08-26 18:37:53.831:WARN / System.err(347):at android.location.Geocoder.getFromLocationName(Geocoder.java:159)   08-26 18:37:53.831:WARN / System.err(347):at com.Finko.HomeScreen.onCreate(HomeScreen.java:32)   08-26 18:37:53.851:WARN / System.err(347):at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)   08-26 18:37:53.851:WARN / System.err(347):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)   08-26 18:37:53.851:WARN / System.err(347):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)   08-26 18:37:53.861:WARN / System.err(347):在android.app.ActivityThread.access $ 2300(ActivityThread.java:125)   08-26 18:37:53.861:WARN / System.err(347):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2033)   08-26 18:37:53.871:WARN / System.err(347):在android.os.Handler.dispatchMessage(Handler.java:99)   08-26 18:37:53.882:WARN / System.err(347):在android.os.Looper.loop(Looper.java:123)   08-26 18:37:53.882:WARN / System.err(347):在android.app.ActivityThread.main(ActivityThread.java:4627)   08-26 18:37:53.891:WARN / System.err(347):at java.lang.reflect.Method.invokeNative(Native Method)   08-26 18:37:53.903:WARN / System.err(347):at java.lang.reflect.Method.invoke(Method.java:521)   08-26 18:37:53.903:WARN / System.err(347):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)   08-26 18:37:53.911:WARN / System.err(347):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)   08-26 18:37:53.911:WARN / System.err(347):at dalvik.system.NativeStart.main(Native Method)

2 个答案:

答案 0 :(得分:3)

现在,

在我看来,这是模拟器的一个问题...... getFromLocationName方法似乎在设备上工作正常(至少我没有得到任何用户无法使用的报告)

虽然在这个版本的Android上开发和调试时总是很痛苦,但似乎你可以使用它。

我最后添加了几个文本框,我只是坚持不懈地调试,然后在最终构建之前删除。

不是最好的答案,但它可能让你感动。祝你好运

答案 1 :(得分:0)

我在很久以前在anddev.org论坛上对此进行了标记。一些人有同样的问题,但我们都没有解决方案。我发现它被列为http://code.google.com/p/android/issues/detail?id=8816中的错误。如果您使用AVD级别8,则IOException为“服务不可用”。当您使用Eclipse并启动模拟器时,启动屏幕会短暂显示“无服务”消息时,会提示它不起作用因为android核心正在加载。我想现在必须尝试注册应用程序中使用的服务。我认为此时没有任何方法可以挂钩调试器,因为它可能正在运行所有Dalvik字节码。