在 2.3.6 设备上运行的 Android SDK v15。
我有一个问题,onPostExecute()
当我在通话cancel()
中打电话时仍然被doInBackground()
调用。
这是我的代码:
@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)
正在执行。
有任何想法吗?