我正在運行一個AsyncTask
,它需要一些時間來加載。在那段時間裏,如果我按回按鈕,那麼它就不會迴應。它只在幾秒鐘後響應。那麼如何殺死或暫停或覆蓋AsyncTask
回去?或者有沒有其他方法可以做類似的事情?當按下後退按鈕時,如何停止android中的asynctask?
if (mainContent != null) {
mainContent.post(new Runnable() {
@Override
public void run() {
Bitmap bmp = Utilities.getBitmapFromView(mainContent);
BlurFilter blurFilter = new BlurFilter();
Bitmap blurredBitmap = blurFilter.fastblur(bmp,1,65);
asyncTask = new ConvertViews(blurredBitmap);
asyncTask.execute();
}
});
我AsyncTask
:
class ConvertViews extends AsyncTask<Void,Void,Void> {
private Bitmap bmp;
public ConvertViews(Bitmap bmp){
this.bmp = bmp;
}
@Override
protected Void doInBackground(Void... params) {
try {
//Thread.sleep(200);
if(mainViewDrawable == null) {
mainViewDrawable = new BitmapDrawable(getResources(), bmp);
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
我onBackPressed()
:
public void onBackPressed() {
super.onBackPressed();
asyncTask.cancel(true);
finish();
}
發佈您的代碼? –
我是這個平臺的新手。你能告訴我,我如何發佈代碼?它在發佈時顯示錯誤。 –
將您的代碼複製並粘貼到編輯框中,在編輯框中選擇所有代碼,然後按Ctrl + K進行格式化。然後提交它。 –