アプリから Web リソースを取得しようとしていますが、NetworkOnMainThreadException が発生しています。Eclipse から試してみると、問題なく動作します。<uses-permission android:name="android.permission.INTERNET"/>
AndroidManifest.xml ファイルに追加しましたが、まだ機能していません。-dns-server 8.8.8.8
実行構成設定にも追加しましたが、まだ何も追加していません。正常に動作するエミュレーターでブラウザー アプリを開くと。何が間違っている可能性があるか、またはそれを修正する方法についての他の提案はありますか?
ありがとう!
java.net.InetAddress.lookupHostByName(InetAddress.java:385) の android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117) での android.os.NetworkOnMainThreadException (java.net.InetAddress.getAllByNameImpl(InetAddress.java: 236) java.net.InetAddress.getAllByName(InetAddress.java:214) で libcore.net.http.HttpConnection.(HttpConnection.java:70) で libcore.net.http.HttpConnection.(HttpConnection.java:50) でlibcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340) で libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87) で libcore.net.http.HttpConnection.connect(HttpConnection.java: 128) libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316) で libcore.net.http.HttpEngine.connect(HttpEngine.java:311) で。net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290) で libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240) で libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:81) で org .apache.harmony.xml.parsers.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:117) で javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:155) で com.weathertest.WeatherClient.getWeather(WeatherClient.java:41) ) com.weathertest.MainActivity$1.onClick(MainActivity.java:44) で android.view.View.performClick(View.java:4204) で android.view.View$PerformClick.run(View.java:17355) でandroid.os.Handler.handleCallback(Handler.java:725) で android.os.Handler.dispatchMessage(Handler.java:92) で android.os.Looper.loop(Looper.java:137) で android.app.ActivityThread .main(ActivityThread.java:5041) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$ MethodAndArgsCaller.run(ZygoteInit.java:793) で com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) で dalvik.system.NativeStart.main(ネイティブ メソッド)
更新:インターネットのアクセス許可を追加した後に例外が変更されたことに気づかなかったと思います。以前に間違ったスレッドで何かを実行したために例外がスローされたのを見たことがありません。ほとんどの場合、それを実行したくないのは理にかなっていますが、例外は本当に...
指摘したように、これは良いリファレンスです: How to fix android.os.NetworkOnMainThreadException?
どうやらそれは Honeycomb SDK 以上のケースであり、考慮事項はここにあります: http://developer.android.com/training/articles/perf-anr.html