Android:有线耳机拔出或蓝牙耳机断开连接,暂停播放

    当我们正在“专注学习”的过程中,如果不小心拔掉了耳机线或者断开蓝牙耳机的连接,突然之间我们APP里正在播放的声音就会打扰到周围的人,如果声音还挺大的话,是不是有些尴尬?所以呢,现在需要实现这么一个功能:在有线耳机拔掉或者蓝牙耳机断开连接时,立刻停止播放。

方式一、通过广播接收器监听有线耳机和蓝牙耳机的状态

步骤1:申请权限

    在工程的AndroidManifest.xml中,添加以下代码:

<manifast xxx>
    ...
    <!-- 获取蓝牙相关权限 -->
    <uses-permission android:name="android.permission.BLUETOOTH" />
    ...
</manifast>

步骤2:注册广播接受器,监听耳机状态变化

    广播(Broadcast Receiver)注册有两种方式,一种方式是<静态注册>:即在项目的Manifest的文件里注册。

<receiver android:name=".HeadphoneReceiver">  
            <intent-filter>
                <action android:name="android.intent.action.HEADSET_PLUG" />
            </intent-filter>
</receiver>   

经测试,该方式无效:因为Android官方为了提升用户体验,对应用在后台运行时可以执行的操作施加了限制。从 Android O 版本(Android 8.0, API 26)开始,在 AndroidManifest.xml 注册的广播接收器,无法接收隐式广播。虽然,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

思涛的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值