2010-11-20 13 views
1

In meiner Anwendung habe ich drei Aktivitäten. In meiner dritten Aktivität, wenn ich auf Home-Taste klicke, kommt es auf den Android-Startbildschirm (Anwendung läuft immer noch im Hintergrund, bemerkte ich mit Log-Anweisung). Wenn ich die Anwendung neu starte, beginne sie mit der ersten Aktivität. Wie kann ich es aus der dritten Aktivität laden? Wer kann mir Ihren Vorschlag geben ....Home-Taste in Android?

Vielen Dank im Voraus ....

Antwort

7

wenn Sie Home-Button klicken, wird die Aktivität führen Sie das Verfahren: onPause() -> OnStop();
Wenn Sie die Anwendung neu starten, führt die Aktivität die Methode aus: onRestart() -> onStart() -> onResume() -> .... steuern Sie die Aktivität über diese Methoden. Ich wünschte, es würde dir helfen.

0

Nein, es beginnt nicht mit der ersten Aktivität. Wenn Sie die Home-Taste drücken und dann die Aktivität durch Drücken des Aktivitätssymbols oder durch langes Drücken der Home-Taste (Anwendungsumschalter) starten, wird die App für die Aktivität fortgesetzt, in der Sie sich gerade befanden.

Möglicherweise haben Sie in den Entwicklungseinstellungen des Emulators das Flag "sofort zerstören" eingeschaltet oder Sie haben möglicherweise zu wenig Arbeitsspeicher oder Sie haben den Prozess selbst beendet. In diesen Fällen kann das Android Ihre Aktivität zerstören. Dann wird es mit der Startaktivität neu gestartet.

RG

1

Aufschalten die folgenden Verfahren.

@Override 
public void onAttachedToWindow() 
{ 
    Log.i("TESTE", "onAttachedToWindow"); 
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); 
    super.onAttachedToWindow(); 
} 

Mit dieser Methode funktioniert die HOME-Schaltfläche in dieser Aktivität nicht mehr (nur diese Aktivität). Dann werden Sie einfach neu implementiert, da es sich um ein normales Button-Event handelt (zum Beispiel den Zurück-Button).

public boolean onKeyDown(int keyCode, KeyEvent event) { 
if (keyCode == KeyEvent.KEYCODE_HOME) { 
    Log.i("TESTE", "BOTAO HOME"); 
    return true; 
} 
return super.onKeyDown(keyCode, event);  

}

Verwandte Themen