我在doInBackround中有一个异步任务,在各种部分运行完之后,我会做各种事情

 onProgressUpdate("You proceeded a bit further 1/5");

多次工作正常,直到(仍然全部在doInBackground中)
HttpSessionToken = (HttpURLConnection)new URL("http://myserver").openConnection();
HttpSessionToken.setRequestMethod("GET");
HttpSessionToken.setRequestProperty("Accept", "application/json");

onProgressUpdate("Still everything is working fine");
int returnCode = HttpSessionToken.getResponseCode();
onProgressUpdate("This onProgressUpdate crashes!");

所以最后一个onProgressUpdate崩溃了,但是为什么会崩溃呢? getResponseCode()是否切换了我正在运行的线程?

最佳答案

您不必直接调用onProgressUpdate,而必须调用publishProgress并让AsynTask框架处理要在UI线程上回调的onProgressUpdate

10-07 15:17