Android SDK v15が2.3.6デバイスで実行されています。キャンセル後にAsyncTask.onCancelled()が呼び出されない(true)
doInBackground()
コールでcancel()
を呼び出しているときに、onPostExecute()
がまだ呼び出されているという問題が発生しています。
はここに私のコードです:私は、代わりにonCancelledのこれをテストするために例外をスローするsomeMethod()
を強制しています
@Override
public String doInBackground(String... params) {
try {
return someMethod();
} catch (Exception e) {
cancel(true);
}
return null;
}
public String someMethod() throws Exception {
...
}
呼ばれて、私はいつもonPostExecute()
に戻ります。 isCancelled()
をチェックすると、返された値がtrueになるので、cancel(true)
が実行されていることがわかります。
アイデア?
これらはどちらも呼び出されません.... – Radu
@Radu私はあなたが使っているコードや、あなたが達成しようとしているタスクについては分かりません。このようなことをやろうとしていて問題を受けている場合は、新しい質問を開始するのが最善でしょう。 – Eric
私のポイントは、@ onCancelled(SomeTypeの結果)と単純なonCancelled()をオーバーライドできません。また、古いAndroidバージョンをターゲットにしている場合、onCancelled()はまったく呼び出されません。 – Radu