Ich habe derzeit eine Aktivität, bei der eine Benachrichtigung auch in der Benachrichtigungsleiste angezeigt wird.Android - Wie überschreiben Sie die Schaltfläche "Zurück", damit sie meine Aktivität nicht beendet()?
Dies ist der Fall, wenn der Benutzer nach Hause drückt und die Aktivität in den Hintergrund versetzt wird, können sie über die Benachrichtigung zur Aktivität zurückkehren.
Das Problem tritt auf, wenn ein Benutzer die Zurück-Taste drückt, meine Aktivität wird zerstört, aber die Benachrichtigung bleibt so, wie ich möchte, dass der Benutzer zurück drücken kann, aber dennoch über die Benachrichtigung zur Aktivität gelangen kann. Aber wenn ein USER dies versucht, bekomme ich Null Pointers, weil er versucht, eine neue Aktivität zu starten, anstatt die alte zurückzubringen.
So im Wesentlichen möchte ich die Zurück-Taste genau die gleiche wie die Home-Taste handeln und hier ist, wie ich versucht habe, so weit:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (Integer.parseInt(android.os.Build.VERSION.SDK) < 5
&& keyCode == KeyEvent.KEYCODE_BACK
&& event.getRepeatCount() == 0) {
Log.d("CDA", "onKeyDown Called");
onBackPressed();
}
return super.onKeyDown(keyCode, event);
}
public void onBackPressed() {
Log.d("CDA", "onBackPressed Called");
Intent setIntent = new Intent(Intent.ACTION_MAIN);
setIntent.addCategory(Intent.CATEGORY_HOME);
setIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(setIntent);
return;
}
jedoch der obige Code scheint immer noch zu erlaube, dass meine Aktivität zerstört wird, Wie kann ich verhindern, dass meine Aktivität zerstört wird, wenn die Zurück-Taste gedrückt wird?
Es gibt eine ähnliche Frage: http://stackoverflow.com/questions/2459848/android-prompt-user-to-save-changes- when-back-button-is-pressed – aleung
Ähnliche Antwort .. http://stackoverflow.com/questions/5914040/onbackpressed-to-hide-not-destroy-activity/23759328#23759328 – Nepster
Auch ich denke, Sie müssen Ihre ändern Code zu 'if (Integer.parseInt (android.os.Build.VERSION.SDK)> 5 ', sollte' <'ein'> 'werden. – SudoPlz