2011-06-27 3 views
0

Je veux réimplémenter le bouton de retour pour mon application ..Comment revenir sur mon application

Par exemple, lorsque l'utilisateur clique sur le bouton arrière du téléphone portable l'application va passer à la dernière page , et si cette page est la première, quittez l'application

J'ai déjà essayé beaucoup de solutions trouvées sur internet, mais aucune d'entre elles n'a fonctionné.

Solutions que je l'ai déjà essayé:

@Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
     if (keyCode == KeyEvent.KEYCODE_BACK) { 
      moveTaskToBack(true); 
      return true; 
     } 
     return super.onKeyDown(keyCode, event); 
    } 

@Override 
    public void onBackPressed() 
    { 
     moveTaskToBack(true); 
       return; 
    } 

la seule façon que je suis arrivé sucess est la suivante:

public boolean dispatchKeyEvent(KeyEvent event) { 
    // Handling the back button 
    if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) { 

    Intent i = new Intent(this,BtConn.class); 
    this.startActivity(i); 
    return true; 
    } else { 
    return super.dispatchKeyEvent(event); 
    } 
} 

mais il est trop lent.

Mon application est pour Android 2.1

------------- ------------- modifier

Succès, mais lente solution

@Override 
public void onBackPressed() { 

    if (contentView == R.layout.main){ 
     Log.d("AQUI", "entro"); 
     finish(); 
    }else{ 
     Log.d("AQUI", "nao entro"); 
     this.finish(); 
     Intent i = new Intent(this,BtConn.class); 
     this.startActivity(i); 
    } 
} 
+0

S'il vous plaît expliquer comment le comportement par défaut de l'arrière-bouton est différent de ce que vous essayez d'atteindre. – Marmoy

+0

@Videre> Lisez attentivement la question. La presse arrière n'atterrit pas l'utilisateur à l'activité de lancement !! – Saty

Répondre

0

Saisissez le bouton Précédent et appelez le this.finish();.

+0

mais this.finish() mettra fin à mon application, je veux revenir au premier écran si l'application est dans l'autre écran – Shermano

+0

non, appelant this.finish() va terminer l'activité en cours, et revenir à la dernière activité . – Eric

+0

hummm merci beaucoup homme – Shermano

0

utiliser cette méthode

@Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 

     if (keyCode == KeyEvent.KEYCODE_BACK) { 
      Log.d("click","backButtonclicked"); 
      SingleHouse.this.startActivity(new Intent(SingleHouse.this, RentPage.class)); 
      moveTaskToBack(false); 
      return true; 
     } 
     return super.onKeyDown(keyCode, event); 
    } 

mettre en œuvre this.Here l'activité est SingleHouse.I déplacé à la première activité appelée RentPage

Questions connexes