Android之如何解决android.os.NetworkOnMainThreadException的异常
生活随笔
收集整理的這篇文章主要介紹了
Android之如何解决android.os.NetworkOnMainThreadException的异常
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
android.os.NetworkOnMainThreadException
首先從字面的意思理解為網絡工作在主線程的異常,也就是說網絡請求不能在主線程里面 android4.0以后不能在主線程發起網絡請求,該異步網絡請求。 就針對此問題有兩種解決的方法:1.可以再Activity的onCreate()方法中加入這樣一段代碼
如下:@Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub String strVer=GetVersion.GetSystemVersion(); strVer=strVer.substring(0,3).trim(); float fv=Float.valueOf(strVer); if(fv>2.3) { StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads() .detectDiskWrites() .detectNetwork() // 這里可以替換為detectAll() 就包括了磁盤讀寫和網絡I/O .penaltyLog() //打印logcat,當然也可以定位到dropbox,通過文件保存相應的log .build()); StrictMode.setVmPolicy(new StrictMode.
總結
以上是生活随笔為你收集整理的Android之如何解决android.os.NetworkOnMainThreadException的异常的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 字符串之字符数组种是否所有的字符都只出现
- 下一篇: Android之混淆代码总结