2011-08-20 124 views
13

有什麼方法可以通過Android服務來監聽音量變化並對此做出反應?音量變化監聽器?

btw:即使音樂在後臺播放,Google音樂應用程序如何讓用戶控制媒體音量?

回答

12

退房registerMediaButtonEventReceiver(ComponentName broadcastReceiver);

定義BroadcastReceiver,處理ACTION_MEDIA_BUTTON。接收到的intent包含一個附加字段EXTRA_KEY_EVENT,其中包含導致廣播的關鍵事件。您可以使用此鍵事件來獲取按下哪個鍵。編輯:
這只是一個示例代碼。語法錯誤可能在那裏。

// in onCreate of activity 
registerMediaButtonEventReceiver(mediaReceiver); 

// later somewhere in activity. 
MediaButton_Receiver mediaReceiver = new MediaButton_Receiver(); 

class MediaButton_Receiver implements BroadcastReceiver { 
    void onReceive(Intent intent) { 

      KeyEvent ke = (KeyEvent)intent.getExtra(Intent.EXTRA_KEY_EVENT); 
      if (ke .getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN) { 

      } 
      // Similarly other key codes ....... 
    } 
} 

註銷在onPause()onStop()

+0

接收器,你能不能給的是請的例子嗎? – kevdliu

+0

我已經添加了示例代碼。但它有語法錯誤。也應該檢查操作鍵或鍵入。首先,這很好,稍後添加。 – Ronnie

+0

另外不要忘記取消註冊接收器,否則使用媒體按鈕事件的其他應用程序可能會受到影響。 – Ronnie