如何判断蓝牙设备何时连接到手机,是否为A2DP?
This tutorial为听取蓝牙连接提供了一个非常容易理解的指南。
我想用它来确定任何连接的蓝牙设备是否为A2DP类型。
AudioManager
有一个方法isBluetoothA2dpOn()
,但我不认为这会立即返回,或者甚至可以确定,因为只是因为连接了A2DP设备,是指音频是通过它路由的吗?
我原本认为有关所连接设备类型的信息可以在收到的意图中找到(参见上面的教程),但我找不到任何相关的文档?
我可以使用以下代码获取BluetoothClass
:
BluetoothClass btClass = intent.getParcelableExtra(BluetoothDevice.EXTRA_CLASS);
但这并不能帮助我确定它是否是A2DP
个人资料,因为BluetoothClass
文档说明了:
BluetoothClass可用作粗略描述设备的提示(for 示例在UI中显示图标,但不能可靠地描述 a实际支持哪些蓝牙配置文件或服务 设备。通过SDP请求完成准确的服务发现 在创建RFCOMM套接字时自动执行 createRfcommSocketToServiceRecord(UUID)和 listenUsingRfcommWithServiceRecord(String,UUID)
......这对我来说毫无意义。