2011-01-06 5 views
3

Im Grunde versuche ich, die Funktionalität des MediaController in der nativen Musik-App (die ich unter 2.2 sehe) neu zu erstellen, wobei die Zurück-Schaltfläche sofort den Bildschirm verlässt, anstatt den MediaController auszublenden. Es scheint jedoch keine gute Möglichkeit zu geben, einen Keylistener zu setzen oder eine Methode außer Kraft zu setzen, um diese Keyevents abzufangen.Keyevents auf MediaController abfangen?

Irgendwelche Ideen?

Antwort

1

können Sie versuchen, so etwas wie

mMediaController = new MediaController(this) { 

     @Override 
     public boolean dispatchKeyEvent(KeyEvent event) { 
      // TODO Auto-generated method stub 

      if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) { 
       finish(); 

      } 
      return super.dispatchKeyEvent(event); 
     } 
} 

oder dispatchKeyEvent wie

@Override 
public boolean dispatchKeyEvent(KeyEvent event) { 
    ContentActivity.this.dispatchKeyEvent(event); 
} 
+0

Die dispatchKeyEvent wird, warum eine Idee zweimal für einzelne backpress aufgerufen? – Jasper

+0

@Jasper, weil es zuerst auf ACTION_DOWN und dann auf ACTION_UP reagiert. Wenn Sie nur einmal damit umgehen wollen, benutzen Sie 'event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP' –