您好我最近注意到,当在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)
答案 0 :(得分:3)
现在,
在我看来,这是模拟器的一个问题...... getFromLocationName方法似乎在设备上工作正常(至少我没有得到任何用户无法使用的报告)
虽然在这个版本的Android上开发和调试时总是很痛苦,但似乎你可以使用它。
我最后添加了几个文本框,我只是坚持不懈地调试,然后在最终构建之前删除。
不是最好的答案,但它可能让你感动。祝你好运
答案 1 :(得分:0)
我在很久以前在anddev.org论坛上对此进行了标记。一些人有同样的问题,但我们都没有解决方案。我发现它被列为http://code.google.com/p/android/issues/detail?id=8816中的错误。如果您使用AVD级别8,则IOException为“服务不可用”。当您使用Eclipse并启动模拟器时,启动屏幕会短暂显示“无服务”消息时,会提示它不起作用因为android核心正在加载。我想现在必须尝试注册应用程序中使用的服务。我认为此时没有任何方法可以挂钩调试器,因为它可能正在运行所有Dalvik字节码。