ich eine Tätigkeit für Ergebnis nennen:Android, finish() schließt Anwendung insead Aktivitäts
private static final int CODE_LOGIN = 0;
private static final int CODE_DETAILS = 1;
private void callDetailsActivity() {
Intent switchToDetailsActivity = new Intent(getApplicationContext(), Details.class);
switchToDetailsActivity.putExtra(TAG_ID, details.get(TAG_ID));
startActivityForResult(switchToDetailsActivity, CODE_DETAILS);
}
Jetzt in meinem Details.class i zurück zur vorherigen Aktivität erhalten rufen:
@Override
public void onBackPressed() {
setResult(RESULT_OK);
super.onBackPressed();
}
Und dann meine onActivityResult()
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == CODE_LOGIN) {
// This is for my other Activity, where the "return" works
}
}
updateOffers();
}
Aber um wieder in meine vorherige Klasse zurückzukehren, wird die Anwendung ohne Fehlerprotokolle geschlossen. Wenn ich die Home-Taste drücke, um zu meiner vorherigen Anwendung zu gehen, kann ich zu meiner Anwendung gehen und dann bin ich in meiner vorherigen Aktivität, aber das ist definitiv nicht so, wie es funktionieren soll.
Ich habe auch versucht, nicht onBackPressed()
zu ändern, oder einfach finish()
in onBackPressed()
schreiben, aber nichts hat funktioniert.
Ich habe nicht android:noHistory="true"
Mit meiner anderen Aktivität eingestellt (die excatly den gleichen Code verwendet), es funktioniert perfekt (CODE_LOGIN).
Kann mir jemand helfen?
Können Sie teilen auch den Code für Ihre „onActivityResult“ in der ersten Aktivität zu benutzen? –
versuchen, super.onBackPressed im unteren Bereich von onBackPressed() hinzuzufügen und Parameter aus dem neuen Intent() zu entfernen. – Vijju
Rufen Sie 'finish()' nach 'startActivityForResult' auf? – Doomsknight