Ich habe zwei Aktivitäten ausgeführt: mainActivity und childActivity. Wenn der Benutzer auf die Schaltfläche in mainActivity klickt, wird die childActivity gestartet. Was ich tun möchte, ist dies:Android: Wiederherstellen der aktiven Aktivität beim Fortsetzen der Anwendung
Wenn die aktive Tätigkeit ist die childActivity und der Benutzer die Home-Taste dann starten Sie die Anwendung klickt, möchte ich die childActivitystattmainActivity sehen das wird gestartet.
Ich hatte einige Vorschläge tatsächlich um arounds. Ich habe versucht, onStart, onRestart, onResume, onStop, onDestroy Ereignisse zu manipulieren. Aber sie haben das Problem nicht vollständig gelöst. Es sollte einen klugen Weg da draußen geben. Vielen Dank.
Edit:
Vielen Dank für die Antwort, Soonil. Der Fall, den Sie sagten, geschieht, wenn die Aktivität aus dem Fenster für die letzten Aktivitäten aufgerufen wird. (Das Fenster öffnete sich, wenn Sie die Home-Taste lange gedrückt halten). Dies geschieht nicht, wenn Sie es vom Startbildschirm aus öffnen. (wie das Öffnen von Anfang an) Ich glaube nicht, dass mein Code ein spezifisches Problem hat, um diesen Fehler zu erzeugen. Weil ich ein Testprojekt erstellt habe und selbstständig versucht habe, bevor ich die Frage gesendet habe und das gleiche Problem hatte. Wie auch immer, hier ist der Testcode:
public class MainActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.setTitle("MainActivity");
((Button) findViewById(R.id.btnChildActivity)).setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
startActivity(new Intent(this, ChildActivity.class));
}
}
public class ChildActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
this.setTitle("ChildActivity");
}
}
Ihr Beispiel lief einfach ohne Probleme. Die Reihenfolge, die ich gemacht habe: starte die App (jetzt auf dem MainActivity-Bildschirm), drücke die Taste (ChildActivity startet), drücke die Home-Taste (jetzt auf dem Home-Bildschirm), langpress home und wähle MainActivity (bei ChildActivity), drücke zurück (Ende bei MainActivity) – sooniln
Ok. das erwarte ich auch. Aber was ist mit dem Ausführen der Anwendung vom Startbildschirm aus? (Ich gehe nicht aus dem Menü der letzten Anwendung, wenn Sie die Home-Taste lange drücken, aber vom Home-Bildschirm aus) Ich erwarte meine ChildActivity. Jedoch; Die MainActivity wird gestartet. Vielen Dank. –
Entschuldigung, immer noch das gleiche Ergebnis :(Drücken Sie die App-Taste auf der Startseite (auf MainActivity), drücken Sie die Taste (bei ChildActivity), drücken Sie Home (auf dem Home-Bildschirm), drücken Sie die App-Taste auf der Startseite (auf ChildActivity), drücken Sie zurück Wollen Sie, dass Ihre App immer auf dem ChildActivity-Bildschirm startet? – sooniln