运行在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()
抛出异常以进行测试,但是不管怎样,我总是返回到onPostExecute()
而不是调用onCancelled
。如果我检查isCancelled()
的返回值为true,那么我知道cancel(true)
已经被执行。
你有什么想法吗?