2011-01-06 8 views
3

基本的には、MediaControllerを隠す代わりに、戻るボタンがすぐに画面の外に出るネイティブミュージックアプリ(2.2で見られる)でMediaControllerの機能を再現しようとしています。キーリストを設定するか、これらのキーイベントを傍受するメソッドをオーバーライドする良い方法はないようです。MediaControllerのキーイベントをインターセプトしていますか?

アイデア?

答えて

1

あなたは、単一のbackpressのために二回任意のアイデア理由が呼び出されている

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); 
     } 
} 

または

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

ようdispatchKeyEventような何かを試すことができますか? – Jasper

+0

@ Jasper、これはACTION_DOWNで最初に反応し、その後ACTION_UPで反応するためです。一度だけ処理したい場合は、 'event.getKeyCode()== KeyEvent.KEYCODE_BACK && event.getAction()== KeyEvent.ACTION_UP'を使用してください。 –

関連する問題