Ich habe Aktivität A und B. Wenn ich auf Aktivität B bin und eine Aktion ausgelöst wird, rufe ich Aktivität A. In Aktivität B verwende ich startActivityforResult, Überprüfung der Anfrage Code auf Aktivitätsergebnis und Anzeigen des Alarmdialogfelds auf der Benutzeroberfläche, nachdem Aktivität A aufgerufen wurde. Aber mein onActivityresult
wird nicht aufgerufen und daher mein Dialogfeld.onActivityforResult wird nicht ausgelöst/aufgerufen
Unten ist mein Code-Schnipsel.
public void Logout() {
autoLogoutHandler.removeMessages(MSG_APP_LOGOUT);
Intent intent = new Intent(Activity_B.this,
Activity_A.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivityForResult(intent, OPEN_NEW_ACTIVITY);
}
Und mein onActivityResult ich meine Bitte Code überprüft, aber es nie genannt.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == OPEN_NEW_ACTIVITY) {
alert = new AlertDialog.Builder(getBaseContext())
.setTitle(null)
.setMessage(getString(xxxx))
.setIcon(null)
.setPositiveButton(getString(xxxx), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
}).show();
}
}
Kann mir jemand helfen, warum meine onActivityResult
nicht aufgerufen wird?
Ist Ihr 'onActivityResult' auf ACTIVITYB oder ACTIVITYA? –
Es ist Aktivität B. – DroidDev
Warum verwenden Sie 'intent.addFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP);'? Wird ActivityA irgendwann vor ActivityB initiiert? – rubenlop