2015年5月12日 星期二

【Android】網路請求問題:android.os.NetworkOnMainThreadException




Http請求寫在了主執行緒裡,在4.0之後在主執行緒裡面執行Http請求都會報錯

解決方法:

1. 在主執行緒中直接忽略,強制執行。
 
Java代碼 

            if (android.os.Build.VERSION.SDK_INT > 9) {
                StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); 
                StrictMode.setThreadPolicy(policy); 
            }   


onCreate上面加上:

     @TargetApi(Build.VERSION_CODES.GINGERBREAD) 
    @SuppressLint("NewApi")   


2.  啟動另一個執行緒執行網路連接任務,比如使用ThreadRunnableHandler(推薦)


沒有留言:

張貼留言