【发布时间】:2012-06-23 00:50:01
【问题描述】:
在 2.3.6 设备上运行的 Android SDK v15。
我遇到了一个问题,当我在 doInBackground() 调用中调用 cancel() 时,onPostExecute() 仍然被调用。
这是我的代码:
@Override
public String doInBackground(String... params) {
try {
return someMethod();
} catch (Exception e) {
cancel(true);
}
return null;
}
public String someMethod() throws Exception {
...
}
我强迫someMethod() 抛出一个异常来测试它,而不是调用onCancelled,我总是返回onPostExecute()。如果我检查isCancelled(),返回值为真,所以我知道cancel(true)正在被执行。
有什么想法吗?
【问题讨论】: