在android 2.3上设计的下载程序,在android 4.0上运行时报android.os.NetworkOnMainThreadException异常,原来在4.0中,访问网络不能在主程序中进行,有两个方法可以解决,一个是在主程序中增加:
// 详见StrictMode文档  
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());  
另一种是启动线程执行下载任务:
       public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);  
setContentView(R.layout.main);  
// 启动线程执行下载任务  
new Thread(downloadRun).start();  
}  
/** 
* 下载线程 
*/  
Runnable downloadRun = new Runnable(){  
@Override  
public void run() {  
// TODO Auto-generated method stub  
updateListView();  
}  
}; 
 
 
                     
            
        













 
                    

 
                 
                    