将广播侦听器添加到 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;

}

在我的应用程序中使用了卷密钥集成示例( ) 。

这个人可能需要权限

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐