2010-09-01 4 views

Répondre

1
+0

Je dois gérer non pas l'événement entrant dans la vue courante, mais tous les événements qui sont envoyés à l'application par le système. – codespy

+0

Je ne suis pas sûr de comprendre. D'après ce que je sais, les événements clés et tactiles sont envoyés aux vues et aux dialogues. Pourriez-vous expliquer plus en détail ce que vous essayez de réaliser avec votre demande? – Key

+1

@codespy: Utilise ce que @Key a mentionné dans une classe abstraite qui étend 'Activity' et fait que toutes tes Activités s'étendent de celle-là. – Macarse

1

Il suffit d'ajouter ce qui suit à votre activité initiale:

// generic Key Listener 
public boolean onKeyDown(int keyCode, KeyEvent event) 
{ 
    Log.d("Activity", "Key pressed"+keyCode); 

    switch (keyCode) 
    { 
     case KeyEvent.KEYCODE_BACK: 
      Log.d("Activity", "Back Key pressed"); 
     return true; 

     case KeyEvent.KEYCODE_MENU: 
      Log.d("Activity", "Menu Key pressed"); 
     return true; 

     case KeyEvent.KEYCODE_HOME: 
      Log.d("Activity", "Home Key pressed"); // doesn't Print! 
     return true; 
    } 

    return super.onKeyDown(keyCode, event); 
} 

Notez que vous ne pouvez pas capturer la clé de la maison!

+0

Utilisez "@Override": @Override public boolean onKeyDown (int keyCode, événement KeyEvent) – Ton

Questions connexes