2013-10-13 90 views
3

我是android新手,我廣泛搜索了這個。任何幫助將不勝感激:) 我有一個應用程序需要做以下事情:服務中的關鍵偵聽器

一個應用程序在後臺運行作爲服務,收聽音量鍵(UP/DOWN)。在此事件中,活動將顯示在前景中。

[我能夠從活動中做到這一點,但是活動必須是在前景和後,才按下音量鍵,我得到一個敬酒。]

請幫助!

回答

0

您可以創建一個監聽android.intent.action.MEDIA_BUTTON一個BroadcastReceiver和註冊的意圖過濾器來聽吧:

<receiver android:name=".RemoteControlReceiver"> 
    <intent-filter> 
     <action android:name="android.intent.action.MEDIA_BUTTON" /> 
    </intent-filter> 
</receiver> 

然後在接收您辦理變更:

public class RemoteControlReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     if (Intent.ACTION_MEDIA_BUTTON.equals(intent.getAction())) { 
      KeyEvent event = (KeyEvent)intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT); 
      if (KeyEvent.KEYCODE_VOLUME_DOWN == event.getKeyCode()) { 
       // Handle key press. 
      } 
     } 
    } 
} 

請看看在https://developer.android.com/training/managing-audio/volume-playback.html欲瞭解更多信息(此代碼取自該處)

編輯:固定KeyEven t鍵碼常數