私はhttp request
使用AsyncTask
していますが、ログアウトするAsyncTask
と停止する必要があります。だから私は電話cancel(true)
していonStop()
ます。を呼び出すとcancel(true)
、まだ開始されていないリクエストはキャンセルされますが、問題はisCancelled()
、実行中のタスクがキャンセルされたかどうかを確認するために呼び出されないことです。実行中のAsyncTaskを停止する方法はありますisCancelled()
かdoInBackgroud()
。AsyncTask
次にシナリオです。
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;
}
ただし、 iscancelled() 内の Log ステートメントは呼び出されません。