[RK3288][Android6.0] 按键(MediaButton)控制音乐播放功能

本文介绍了在Android 6.0系统上,基于Rockchip RK3288平台,如何利用MediaButtonIntentReceiver实现耳机按键控制音乐播放的功能。MediaButtonReceiver是一个Broadcast Receiver,用于接收和处理媒体按键事件。系统通过优先级处理原则来决定哪个应用响应按键事件,早期版本基于堆栈机制,新版本则通过MediaSession进行管理。详细涉及注册、事件处理和优先级策略。
摘要由CSDN通过智能技术生成

Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92

在看music后台自动播放的问题时因为对这块不了解,以为开机默认打印的这条log会有关系
ActivityManager: Start proc 978:com.android.music/u0a29 for broadcast com.android.music/.MediaButtonIntentReceiver
事实上,这是和MediaButton有关系。

通俗一点讲,就是在你插了耳机,如果有些上面有按键,当你按下之后,系统就会调用music来播放音乐,此功能正是通过MediaButtonIntentReceiver来接收然后处理播放/暂停/下一曲等功能的。

定义:

本质上它也是一个Broadcast Receiver,在xml有静态定义:
packages/apps/Music/AndroidManifest.xml

<receiver android:name="com.android.music.MediaButtonIntentReceiver">
    <intent-filter>
        <action android:name="android.intent.action.MEDIA_BUTTON" />
        <action android:name="android.media.AUDIO_BECOMING_NOISY" />
    </intent-filter>
</receiver>

接收”android.intent.action.MEDIA_BUTTON” 和 “android.media.AUDIO_BECOMING_NOISY”两种Action.
前者处理按键事件, 后者处理比如耳机插拔等事件(比如收到事件后停止播放)。具体说明如下:

Intent.java

/**
 * Broadcast Action:  The "Media Button
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值