2010-11-20 9 views
1

Dans ma demande, j'ai trois activités. Dans ma troisième activité si je clique sur le bouton d'accueil, il arrive à l'écran d'accueil android (l'application fonctionne toujours en arrière-plan, j'ai remarqué en utilisant l'instruction Log). Si je relance l'application, elle commence à partir de la première activité. Comment puis-je le charger à partir de la troisième activité? Tout le monde peut me donner votre suggestion ....Bouton Accueil dans Android?

Merci à l'avance ....

Répondre

7

si vous cliquez sur le bouton d'accueil, l'activité d'exécuter la méthode: OnPause() -> onStop();
Lorsque vous relancez l'application, l'activité exécute la méthode: onRestart() -> onStart() -> onResume() -> ....
contrôlez l'activité via ces méthodes. J'aimerais que cela vous aide.

0

Non, il ne part pas de la première activité. Si vous appuyez sur le bouton d'accueil, puis démarrez l'activité en appuyant sur l'icône d'activité ou via la pression longue sur la maison (sélecteur d'application), il continuera l'application sur l'activité que vous étiez sur.

Vous avez peut-être activé le drapeau "détruire immédiatement" dans les paramètres de développement de l'émulateur, ou vous avez peut-être trop peu de mémoire disponible, ou vous avez tué le processus vous-même. Dans ces cas, l'Android peut détruire votre activité. Ensuite, il redémarrera avec l'activité de démarrage.

RG

1

Substituez la méthode ci-dessous.

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

Avec cette méthode, le bouton HOME cesse de fonctionner dans cette activité (uniquement cette activité). Ensuite, vous venez de réimplémenter comme c'était un événement de bouton normal (le bouton de retour par exemple).

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

}