社区
Android
帖子详情
Android 耳机线控问题,想用 MediaSession 拦截耳机按钮的点击事件然后 发条广播
野生的洛天依
2020-01-15 11:26:05
具体怎么操作呢???
网上都是 session + browser +browserService+Controller 一起用的,
我不用这么复杂 ,我只想单纯的 拦截 耳机的点击事件 发个广播, 打开个activity什么的, 不用播放音乐什么的 求大佬指点迷津 ,分很少, 发几张 天依的图给看看 Android
...全文
606
1
打赏
收藏
Android 耳机线控问题,想用 MediaSession 拦截耳机按钮的点击事件然后 发条广播
具体怎么操作呢??? 网上都是 session + browser +browserService+Controller 一起用的, 我不用这么复杂 ,我只想单纯的 拦截 耳机的点击事件 发个广播, 打开个activity什么的, 不用播放音乐什么的 求大佬指点迷津 ,分很少, 发几张 天依的图给看看 Android
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
野生的洛天依
2020-01-15
打赏
举报
回复
解决了
mSession = new MediaSessionCompat(this, "MusicService");
mSession.setCallback(new MediaSessionCompat.Callback() {
@Override
public boolean onMediaButtonEvent(Intent mediaButtonEvent) {
String intenAction = mediaButtonEvent.getAction();
if (intenAction.equals(Intent.ACTION_MEDIA_BUTTON)) {
KeyEvent event = mediaButtonEvent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
if (event != null) {
int action = event.getAction();
if (action == KeyEvent.ACTION_DOWN) {
int keyCode = event.getKeyCode();
LogUtil.d("---- MediaSession event.getKeyCode() = " + event.getKeyCode());
switch (keyCode) {
case KeyEvent.KEYCODE_HEADSETHOOK:
LogUtil.d("---- MediaSession 普通耳机 播放/暂停 keyCode = " + KeyEvent.KEYCODE_HEADSETHOOK);
break;
case KeyEvent.KEYCODE_MEDIA_PLAY:
LogUtil.d("---- MediaSession 蓝牙耳机 播放 keyCode = " + KeyEvent.KEYCODE_MEDIA_PLAY);
break;
case KeyEvent.KEYCODE_MEDIA_PAUSE:
LogUtil.d("---- MediaSession 蓝牙耳机 暂停 keyCode = " + KeyEvent.KEYCODE_MEDIA_PAUSE);
break;
case KeyEvent.KEYCODE_MEDIA_NEXT:
LogUtil.d("---- MediaSession 蓝牙耳机 下一曲 keyCode = " + KeyEvent.KEYCODE_MEDIA_NEXT);
break;
case KeyEvent.KEYCODE_MEDIA_PREVIOUS:
LogUtil.d("---- MediaSession 蓝牙耳机 上一曲 keyCode = " + KeyEvent.KEYCODE_MEDIA_PREVIOUS);
break;
}
}
}
}
return super.onMediaButtonEvent(mediaButtonEvent);
}
});
mSession.setFlags(MediaSessionCompat.FLAG_HANDLES_MEDIA_BUTTONS | //FLAG_HANDLES_MEDIA_BUTTONS 控制媒体按钮
MediaSessionCompat.FLAG_HANDLES_TRANSPORT_CONTROLS); //FLAG_HANDLES_TRANSPORT_CONTROLS 控制传输命令
mSession.setActive(true); //激活
// mSession.release(); //退出时需要销毁
//mSession.setPlaybackState(state); //最重要 //更新播放状态和歌曲信息
//mSession.setMetadata(MediaMetadataCompat metadata); //media_session的服务,可通过命令查看系统当前的服务信息 adb shell dumpsys media_session
Android
利用
广播
实现
耳机
的线
控
在
Android
系统中,
耳机
线
控
功能的实现是一个重要的...通过以上步骤,我们可以成功地利用
Android
的
广播
机制实现
耳机
线
控
功能,包括单击和双击事件的识别。在实际项目中,可以根据具体需求对这些基础操作进行扩展和定制。
苹果线
控
耳机
电路图
苹果线
控
耳机
端电路图,提供给爱好者参考.如有错误请指正.
耳机
线
控
hook key
###
耳机
线
控
Hook Key相关知识点 #### 一、
耳机
插拔识别与Hook Key用途 **
耳机
插拔识别**是指设备能够检测到
耳机
插入或拔出的行为,并据此作出相应的反应,如自动暂停播放音乐或者调整设备状态。这一功能在
Android
...
Apple线
控
耳机
电路
### Apple线
控
耳机
电路知识点详解 #### 一、概述 Apple线
控
耳机
是Apple设备(如iPod、iPad、iPhone)的重要配件之一,其内部电路的设计对于实现
耳机
的各种功能至关重要。本文将根据提供的资料深入探讨Apple线
控
...
荣耀3C-线
控
耳机
:接线图.jpg
线
控
耳机
接线 华为
耳机
荣耀
耳机
荣耀3C-线
控
耳机
:接线图
Android
80,467
社区成员
91,376
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章