在2.2系统下开发的程序运行在4.0系统时报android.os.NetworkOnMainThreadException异常,经过查文档,原来是4.0系统不允许主线程(UI线程)访问网络,因此导致了其异常。

参考文档连接
http://developer.android.com/reference/android/os/NetworkOnMainThreadException.html

解决方法1:

public void onCreate() {     if (DEVELOPER_MODE) {             StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()                 .detectDiskReads()                 .detectDiskWrites()                 .detectNetwork()   // or .detectAll() for all detectable problems                 .penaltyLog()                 .build());              StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()                 .detectLeakedSqlLiteObjects()                 .detectLeakedClosableObjects()                 .penaltyLog()                 .penaltyDeath()                .build());     }     super.onCreate(); }

注意:由于StrictMode 是android 2.3才开始提供,所以当你把程序运行在2.2时就会报错,所以在你调用StrictMode 时最好来个系统版本判断,当系统版本大于2.3时才调用StrictMode
参考文档连接
http://developer.android.com/reference/android/os/StrictMode.html

解决方法2:
开线程处理关于网络的事物,然后用handler发送消息来处理更新UI


更多相关文章

  1. Android(安卓)WebView使用全面解析(加载网络资源、本地HTML,JS交互
  2. 模仿Android(安卓)location provider
  3. android Camera模块分析
  4. 实现调用Android手机的拍照功能
  5. Android日语输入法Simeji使用示例
  6. 对比onSaveInstanceState和onRestoreInstanceState
  7. android 调用 Menu 两种方法
  8. [置顶] android调用系统相机拍照并保存在本地
  9. android kernel 初始化 2

随机推荐

  1. Android动画特效
  2. 谈谈Android里的Context的使用!!!
  3. Android实现IOS相机滑动控件
  4. 说明Android应用调用全屏方式
  5. 在Android中访问内置SE和基于SE的卡模拟(
  6. Android短信管家(确认需求)1
  7. 关于android版本spice协议tls端口链接方
  8. 框架设计之ADO.NET Command的ExecuteScal
  9. 使用HBuilder打包Android和iOS,并上线
  10. Android(安卓)程序读写Office文件