アプリにログインすると、非同期タスクの実行が開始され、そのタスクが実行されていてアプリからログアウトしている間、そのタスクはまだ実行されていて、しばらくすると結果が表示されます(ログアウトしました)。結果が得られないように、そのタスクをキャンセルする方法はありますか?
class AsyncClass extends AsyncTask<>{
@Override
protected String doInBackground(Void... params)
{
if(isCancelled())
{
Log.d("isCancelled", iscancelled());
}
//call the webservice
}
}
今、私が呼んでいる場所から他のクラスがあります
if(asyncTaskObject!=null){
asyncTaskObject.cancel(true);
asyncTaskObject=null;
}
ただし、内部の Log ステートメントiscancelled()
は呼び出されません。