首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android 2.1检测蓝牙音频连接/断开

Android 2.1检测蓝牙音频连接/断开
EN

Stack Overflow用户
提问于 2011-07-08 10:22:47
回答 4查看 5.5K关注 0票数 8

我正在挠头,试图找到一种方法来检测Android 2.1的蓝牙耳机连接和断开事件。我在API Level 11中看到有一些显式的API,但是在API level 7中如何做到这一点呢?我只想知道用户何时连接或断开能够播放音频的头戴式耳机或汽车立体声音响,以便我可以暂停正在播放的声音。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-07-11 17:05:59

没有公共API,这是作者使用反射使用私有API的answer might help

作者还发表了一篇评论,介绍了他是如何让它工作的。

票数 5
EN

Stack Overflow用户

发布于 2011-07-17 09:34:21

This看起来是检测蓝牙连接/断开的一个很好的选择。

如果这不起作用,另一个好的选择是在调用AudioManager.isBluetoothA2dpOn()的服务中设置一个计时器,以检查蓝牙是否已连接或断开。

票数 1
EN

Stack Overflow用户

发布于 2012-08-07 00:56:41

不确定这在2.1中是否有效,但它在2.2和2.3中有效。

它将捕获蓝牙耳机连接状态的变化:

声明以下意图过滤器

代码语言:javascript
运行
复制
        <intent-filter >
            <action android:name="android.bluetooth.headset.action.AUDIO_STATE_CHANGED" />
        </intent-filter>

并在onReceive中的接收器中检查:

代码语言:javascript
运行
复制
if ("android.bluetooth.headset.action.AUDIO_STATE_CHANGED".equals(intent.getAction())) {
  headsetAudioState = intent.getIntExtra("android.bluetooth.headset.extra.AUDIO_STATE", -2);
}

并将int保存为静态变量。如果您想知道BT音频是否已连接(1)/断开(0),请随时访问它。不是很漂亮,但能完成任务。

另请查看:https://github.com/android/platform_frameworks_base/blob/gingerbread/core/java/android/bluetooth/BluetoothHeadset.java

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6619317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档