我对 Android AsyncTask 有一些问题。有一个 Activity 包含一些 TextView 一个按钮和一张图片。当用户进入此活动时,我启动一个异步任务以检查用户是否可以从活动中前进(直到任务未完成按钮未激活)。然后我想启动另一个异步任务来获取图片。所以我做了一个内部类:
AsyncTask<String, Void, JSONObject>() authTask = new AsyncTask<String, Void, JSONObject>() {
@Override
protected JSONObject doInBackground(String... params) {
//call the rest api
}
@Override
protected void onPostExecute(JSONObject result) {
// check the result
// and make another asynctask
AsyncTask<String, Void, Bitmap> imageTask = new Async.... {
// get image
}
imageTask.execute();
}
}
我
authTask.execute();
从 UI 线程调用。
我对此有一种不好的感觉,尤其是它似乎不起作用(几次都没问题,但突然它“冻结”:没有例外,只是挂起并且进度条在旋转。没有任何反应,按钮也不会激活。)还有另一种获取信息的方法,当它完成后立即开始另一个任务?
UDPATE:我使用 api 级别 10。在 authTask 中,我得到了一些启动 imageTask 所需的信息(一些 id),所以我必须连续调用这些任务。在 api 级别 10 有可能吗?
提前致谢!
兄弟,彼得