[問題] HttpGet升上4.0.3之後的問題

看板AndroidDev作者 (Optimist)時間13年前 (2012/03/28 19:33), 編輯推噓2(203)
留言5則, 4人參與, 最新討論串1/2 (看更多)
這塊程式碼我丟在2.3.3的模擬器跟手機上面跑都沒有問題,但是直到我昨天SS XE升級 4.0.3之後就出現錯誤,後來我又換成模擬器也莫名其妙跳例外狀況,後來乾脆開了一個 4.0.3目標的專案再測一次還是一樣。 HttpClient m_httpClient = new DefaultHttpClient(); HttpGet m_httpGet = new HttpGet("http://<Server>/?cmd=0&id=Demo"); try { m_httpClient.execute(m_httpGet); } catch (ClientProtocolException e) { Toast.makeText(getApplicationContext(), e.getMessage(), 1).show(); e.printStackTrace(); } catch (IOException e) { Toast.makeText(getApplicationContext(), e.getMessage(), 1).show(); e.printStackTrace(); } 錯誤名稱:java.lang.IllegalArgumentExcep 錯誤根本連catch都沒有進去,實在是不知道從何修起.... 麻煩版上各位先進幫幫忙,謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.97.107 ※ 編輯: optimist9266 來自: 122.116.97.107 (03/28 19:34)

03/28 20:28, , 1F
沒錯誤訊息...實在是不知道從何看起....
03/28 20:28, 1F

03/28 20:33, , 2F
錯誤就是IllegalArgumentException啊...
03/28 20:33, 2F
找到原因了,雖然我還是不懂為什麼逐步偵錯會顯示 java.lang.IllegalArgumentExcep 錯誤,不過我發現4.0.3會不允許在主執行序進行網際網路活動,2.3.3版本這樣跑就完全 沒事。 ※ 編輯: optimist9266 來自: 122.116.97.107 (03/28 21:08)

03/28 22:33, , 3F
我指的是那一行底下的 囧>
03/28 22:33, 3F

03/28 22:35, , 4F
我記得不允許主線有網路活動會直接寫在log中..
03/28 22:35, 4F

03/29 07:48, , 5F
好像可以用StrictMode.setThreadPolicy 來偷吃步
03/29 07:48, 5F
文章代碼(AID): #1FSlSbJh (AndroidDev)
文章代碼(AID): #1FSlSbJh (AndroidDev)