Android拦截多媒体蓝牙键盘按键实践
Android拦截多媒体蓝牙键盘按键实践
主要是通过AudioManager和MediaPlayer相关API实现。
mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
mMediaButtonReceiverComponent = new ComponentName(getPackageName(),MediaButtonIntentReceiver.class.getName());
mAudioManager.registerMediaButtonEventReceiver(mMediaButtonReceiverComponent);
mAudioManager.requestAudioFocus(mOnAudioFocusChangeListener, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
setUpMediaSession();
}else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH){
//setUpRemoteControlClient();
}
mCurrentMediaPlayer.setWakeMode(this, PowerManager.PARTIAL_WAKE_LOCK);
setDataSourceImpl(mCurrentMediaPlayer);
createNotificationChannel();