Auch wenn diese Frage bereits mehrfach beantwortet wurde.
Wenn ich eine Aktivität von einem Fragment aus neu starte, würde ich das so machen:
new Handler().post(new Runnable() {
@Override
public void run()
{
Intent intent = getActivity().getIntent();
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NO_ANIMATION);
getActivity().overridePendingTransition(0, 0);
getActivity().finish();
getActivity().overridePendingTransition(0, 0);
startActivity(intent);
}
});
Sie denken jetzt vielleicht, dass das ein wenig übertrieben ist? Aber die Handler
Buchung können Sie dies in einer Lebenszyklusmethode aufrufen. Ich habe dies verwendet in onRestart
/ onResume
Methoden, um zu prüfen, ob sich der Zustand zwischen der Rückkehr des Benutzers zur App geändert hat. (etwas installiert).
Ohne die Handler
Wenn Sie es an einer ungeraden Stelle aufrufen, wird die Aktivität einfach beendet und nicht neu gestartet.
Sie können uns gerne alle Fragen stellen.
Zum Wohl, Chris