Android:引发:android.os.NetworkOnMainThreadException

这个问题在这里已经有了答案:

  • 我该如何解决android.os.NetworkOnMainThreadException? 49个答案

  • 在你的onCreate()中加入这个:

    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.setThreadPolicy(policy);
    

    使用上述作为临时解决方案。 否则使用线程或asynctask。


    您正试图在主(UI)线程上建立网络连接。 这在Android中是不允许的,因为它会暂停整个用户界面,直到您获得服务器的响应。

    尝试使用AsyncTask,或在单独的线程上执行连接。

    希望这可以帮助。


    NetworkOnMainThreadException:应用程序尝试在其主线程上执行联网操作时引发的异常。

    你应该调用asynctask的方法,然后只有代码可以工作。 为了避免它,你应该在另一个线程上调用它。 因此,asynctask更好。

    http://android-developers.blogspot.in/2009/05/painless-threading.html

    http://android-er.blogspot.in/2012/04/androidosnetworkonmainthreadexception.html

    http://www.lucazanini.eu/2012/android/the-android-os-networkonmainthreadexception-exception/?lang=en

    这里是说明如何使用asynctask的链接

    链接地址: http://www.djcxy.com/p/29527.html

    上一篇: Android : Caused by: android.os.NetworkOnMainThreadException

    下一篇: Caused by: android.os.NetworkOnMainThreadException