2012-03-30 7 views
0

In meiner Anwendung, es die Anwendung von der Ausgangsaktivität oder der ersten Aktivität zu beginnen erfordert, wie die Anwendung durch einen Login-Bereich authentifiziert wird ..Android-Anwendung Start-up

Also, wenn die Anwendung beendet wird; sagen wir, durch Drücken der BACK oder HOME Taste, ich muss die Anwendung von der Anmeldung selbst starten ... Gibt es eine Methode, um das gleiche zu tun?

habe ich versucht, eine einfache Technik, die von den KeyEvent überschreiben, und die Umsetzung des finish() Methode inside.It für die BACK-Taste funktioniert, aber es ist nicht für die HOME-Taste funktioniert ...

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_HOME) { 

     finish();  
    } 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 

     finish();  
    } 
    return false; 
} 

Antwort

0

Ya bekam die Antwort ...

I enthalten nur das folgende Attribut für die erste Aktivität die ganze Zeit angezeigt werden soll, wie ich in meiner Frage, sagte ...

android:launchMode="singleTask" 
android:clearTaskOnLaunch="true" 

auch dieses Attribut für die anderen Aktivitäten ...

android:finishOnTaskLaunch="true" 

Versuche mal ......

4

nehmen ein Blick auf diese:

activity lifecycle

im Grunde jedes Mal wird die Anwendung angehalten, schließen Sie die Aktivität, so dass es wieder neu gestartet werden muss. Sie können dies tun, indem Sie die onPause-Methode überschreiben und die Aktivität dort schließen.

+0

Ich versuchte onPause(), aber es ist immer noch nur die Aktivität zu töten, die vorher aktiv war .... – subrussn90

1

Wenn ich mich nicht irre, kann man die HOME-Taste nicht überschreiben, da sie es dem Benutzer ermöglichen sollte, jederzeit aus einer App herauszukommen .

1

wenn HOME Key Pressed onStop genannt wird, so dass Sie finish(); in onStop() für destory Aktivität hinzufügen und Sie können versuchen, onUserLeaveHint() diese Methode zu verwenden, auch aufgerufen, wenn Benutzer drücken Home-Taste