2013-10-13 94 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键码常数