android 蓝牙耳机按钮,如何利用android从蓝牙耳机中捕获关键事件_bluetooth_开发99编程知识库...
将广播侦听器添加到 MEDIA_BUTTON:你应该在应用程序( 不在清单文件中) 中注册你的广播接收器。 否则,谷歌音乐播放器将捕捉你的广播和船上。你的IntentFilter 优先级应该高于其他媒体播放器在你的手机中的优先级在清单中添加 android.permission.BLUETOOTH 权限以支持蓝牙耳机收到你的密钥后,你必须使用 abortBroadcast() 手动中止广播。然而,
将广播侦听器添加到 MEDIA_BUTTON:
你应该在应用程序( 不在清单文件中) 中注册你的广播接收器。 否则,谷歌音乐播放器将捕捉你的广播和船上。
你的IntentFilter 优先级应该高于其他媒体播放器在你的手机中的优先级
在清单中添加 android.permission.BLUETOOTH 权限以支持蓝牙耳机
收到你的密钥后,你必须使用 abortBroadcast() 手动中止广播。
然而,优先级和 abortBroadcast() 工作得很好,只要每个应用程序只响应 比如,。 但是,一些用户也希望"默认播放机"在按下按钮时启动( 开始播放),就像默认的播放器一样,所以可能会出现一些应用程序的优先级更高的应用程序不会让 Intent 进入你的应用程序。
在 onReceive 中,可以使用KeyEvent key = (KeyEvent)
intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
key.getKeyAction() 告诉你按钮是被释放还是按下,key.getKeyCode() 告诉你按下哪个按钮。
如果你想处理单按钮电缆耳机,也要考虑关键代码 KEYCODE_HEADSETHOOK
重写任何 Activity 中的onKeyDown 方法,并检查 KeyEvent.KEYCODE_MEDIA_KEYCODE_pressed_key
: )boolean onKeyDown(int keyCode, KeyEvent event) {
AudibleReadyPlayer abc;
switch (keyCode) {
case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD:
//code for fast forward
return true;
case KeyEvent.KEYCODE_MEDIA_NEXT:
//code for next
return true;
case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE:
//code for play/pause
return true;
case KeyEvent.KEYCODE_MEDIA_PREVIOUS:
//code for previous
return true;
case KeyEvent.KEYCODE_MEDIA_REWIND:
//code for rewind
return true;
case KeyEvent.KEYCODE_MEDIA_STOP:
//code for stop
return true;
}
return false;
}
在我的应用程序中使用了卷密钥集成示例( ) 。
这个人可能需要权限
更多推荐
所有评论(0)