Ich betreibe eine AsyncTask
und es dauert ein wenig Zeit zu laden. Wenn ich in dieser Zeit die Taste zurück drücke, reagiert sie nicht. Es reagiert erst nach ein paar Sekunden. Also, wie kann ich AsyncTask
töten oder pausieren oder außer Kraft setzen, um zurückzugehen? Oder gibt es einen anderen Weg, etwas Ähnliches zu tun?Wie kann ich asynctask in Android stoppen, wenn die Zurück-Taste gedrückt wird?
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();
}
});
Mein 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;
}
}
Mein onBackPressed()
:
public void onBackPressed() {
super.onBackPressed();
asyncTask.cancel(true);
finish();
}
Geben Sie Ihren Code ein? –
Ich bin neu auf dieser Plattform. Können Sie mir sagen, wie ich den Code veröffentlichen kann? Es zeigt Fehler beim Posten an. –
Kopieren Sie den Code und fügen Sie ihn in das Bearbeitungsfeld ein, wählen Sie den gesamten Code im Bearbeitungsfeld aus und drücken Sie Strg + K, um ihn zu formatieren. Dann reiche es ein. –