Diese Frage ähnelte meiner ursprünglichen Frage, aber ich denke, es gibt einen besseren Weg, eine Lösung zu erreichen.So erhalten Sie getIntent(), um null zurückzugeben, nachdem die Aktivität mit einem Intent-Satz aufgerufen wurde
getIntent returns wrong intent when setIntent is followed by a rotation
Grundsätzlich in meinem Haupt Activity
, die FragmentActivity
erstreckt, gibt es zwei Fälle, in denen in einem Fragment ich eine Absicht dieser Aktivität übergeben.
Dies ist der Code, der das Problem mit:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(...);
if (getIntent() != null && getIntent().getData() != null) {
String data = getIntent().getDataString();
//setIntent(null);
Der setIntent
war ein Versuch, mein Problem zu lösen, aber es versäumt zu arbeiten.
Was passiert, wenn ich auf einen Link klicke, der zu meiner Aktivität als Absicht zurückkehrt, dann gehe ich zum nächsten Fragment, dann drehe ich das Telefon, die Absicht, die zwei Fragmente vor sich gebracht hat, taucht wieder auf, wenn ich Anruf getIntent
.
Also, wenn ich die Daten aus dem Intent bekomme, wie kann ich es so einstellen, dass der nächste Anruf an Null zurückgibt? Oder wäre es sinnvoll, die Daten in der Absicht stattdessen null zu haben?
Ich versuche zu vermeiden, Informationen in den SharedPreferences zu aktualisieren, um damit umzugehen.