我在试图找到一种方法来检测蓝牙耳机连接和断开Android 2.1的事件。我在API Level 11中看到有一些明确的API,但我如何在API级别7中执行此操作?我只想知道用户何时连接或断开可以播放音频的耳机或汽车音响,以便我可以暂停播放的声音。Android 2.1检测蓝牙音频连接/断开连接
8
A
回答
5
没有公开的API, 这个answer might help其中作者使用反射使用私有API。
作者还发表了评论他如何得到它的工作。
1
This看起来像检测蓝牙连接/断开连接的好选择。
如果这样做不起作用,另一个不错的选择是在服务中设置一个定时器,该服务调用AudioManager.isBluetoothA2dpOn()
来检查蓝牙是否连接或断开。
0
您必须为android.bluetooth.headset.action.STATE_CHANGED
设置BroadcastReceiver
操作。意图的额外android.bluetooth.headset.extra.STATE
包含当前状态(断开,连接,连接)。更多信息Android source code
1
不确定这是否适用于2.1,但它在2.2和2.3中有效。
它会捕捉蓝牙耳机的连接状态的变化:
声明如下意图过滤
<intent-filter >
<action android:name="android.bluetooth.headset.action.AUDIO_STATE_CHANGED" />
</intent-filter>
,并在的onReceive检查您的接收器:
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),就可以随时访问它。不漂亮,但完成工作。
相关问题
- 1. Android蓝牙:连接()/断开()
- 2. 的Android 2.1如何断开连接的蓝牙装置
- 3. 检测蓝牙连接(android sdk ICS)
- 4. Android BLE(蓝牙低功耗)连接/断开/重新连接
- 5. 检测蓝牙设备断开连接InTheHand.Net库
- 6. 如何检测蓝牙HID设备是否断开连接?
- 7. 如何断开蓝牙连接(HTC Desire)
- 8. mutltiple蓝牙连接连接的android
- 9. Android:如何通过蓝牙连接传输视频和音频?
- 10. 蓝牙设备连接/断开连接时广播吗?
- 11. iPhone/iOS - 从蓝牙耳机连接和断开连接
- 12. Amarino蓝牙连接
- 13. Android蓝牙连接错误
- 14. Android蓝牙游戏连接
- 15. Android。连接蓝牙设备
- 16. Android蓝牙连接问题
- 17. 检测jsch断开连接
- 18. 蓝牙套接字连接
- 19. 使Android手机通话音频通过A2DP蓝牙连接
- 20. socket.io断开连接事件,客户端断开连接检测
- 21. Java - 蓝牙连接
- 22. iphone蓝牙连接
- 23. Arduino蓝牙连接
- 24. 检测可穿戴式连接/从Android手机断开连接
- 25. 什么原因导致Android手机与蓝牙连接断开
- 26. Android的蓝牙:如何轮询连接/断开
- 27. 如何知道何时蓝牙在Android 1.5上断开连接?
- 28. Android蓝牙套接字连接挂起
- 29. Android检测到蓝牙立即断开
- 30. 如何检测Mac OS X中是否连接了蓝牙音频设备?
这是API 8级,一个2.1以上(7级),但由于 – rustyshelf