android.os.NetworkOnMainThreadException异常

在调用网络接口时,出现异常

获取token失败! android.os.NetworkOnMainThreadException

在java程序中没有异常出现,但是安卓不行

这是因为安卓在4.0之后不允许在主线程进行网络连接,我们可以通过在oncreat()处添加

if (Build.VERSION.SDK_INT >= 11) {
            StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build());
            StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().detectLeakedClosableObjects().penaltyLog().penaltyDeath().build());
        }

来忽略异常,也可以通过子线程来进行网络通讯

参考:Android.os.NetworkOnMainThreadException异常的解决方式 - Nickeilf的个人空间 - OSCHINA - 中文开源技术交流社区

附:安卓开启子线程方法

Android常用的开启子线程的方法_任重道远-CSDN博客_android 子线程

原文地址:https://www.cnblogs.com/Arisf/p/14705917.html