网上找的demo是在manifest里设置接收下面两个Action,并把优先级设为最高
<action android:name="android.intent.action.MEDIA_BUTTON"/>
<action android:name="android.media.AUDIO_BECOMING_NOISY" />
然后重写BroadcastReceiver的onReceive函数,获取Intent.Action_Media_Button的事件:
public void onReceive(Context context, Intent intent) {
if(Intent.ACTION_MEDIA_BUTTON.equals(intentAction)){
KeyEvent keyEvent = (KeyEvent)intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT); //获得KeyEvent对象
int keyCode = keyEvent.getKeyCode();
Log.i(TAG,keyCode+"");
}
}
但经过测试只能得到keycode-headsethook这个按键,也就是播放键的按键事件。按播放键可以输出对应的keycode。音量加与音量减的事件都接收不到,触发的还是系统的调整音量。
有没有大神做过这方面的app呢,麻烦给个demo参考一下,或者告知一下这方面的api要怎么找。
官方文档里我去找了一下,Intent.ACTION_MEDIA_BUTTON的说明是Broadcast Action: The "Media Button" was pressed。不清楚是只针对播放键的还是三个按键都包括。
唔,忘了C币一般是悬赏多少了,先放10个吧,能解决的话会追加的,谢谢各位大神。