Я запускаю AsyncTask
и занимает немного времени для загрузки. В этот период времени, если я нажимаю кнопку «Назад», он не отвечает. Он реагирует только через несколько секунд. Итак, как я могу убить или приостановить или переопределить AsyncTask
, чтобы вернуться? Или есть ли другой способ сделать что-то подобное?Как остановить 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, чтобы отформатировать его. Затем отправьте его. –