4

Android 中的蓝牙 API提供了一个类 ( BluetoothClass ),用于确定设备的特性和功能。在此我们可以找到设备类 ( BluetoothClass.Device ),更具体地说是AUDIO_VIDEO_CAR_AUDIO类。

我打算用它来过滤发现的设备,这样我的应用程序只会配对/发现安装在汽车中的蓝牙设备,但是一些连接到不同品牌的不同汽车的一些测试似乎总是使用AUDIO_VIDEO_HANDSFREE设备类。

  • AUDIO_VIDEO_HANDSFREE不用于汽车以外的设备吗
  • 那么拥有AUDIO_VIDEO_CAR_AUDIO类有什么意义呢?
  • 汽车制造商之间有标准吗?
  • 有没有办法确定只检测汽车设备?

希望有人可能有同样的问题并想出了一个答案。

4

1 回答 1

1

好问题,

1-) AUDIO_VIDEO_HANDSFREE 不用于汽车以外的设备吗?

=> 不,事实上,您可以将您的 PC 转换为任何设备(汽车、电话、免提),只需修改您的蓝牙配置(/etc/bluetooth/main.conf)并为 A2DP 放置适当的类示例:类= 0x20041C

2-) 拥有 AUDIO_VIDEO_CAR_AUDIO 类有什么意义?

=> 我想每个设备都会公开它可以使用的请求服务,以便在使用蓝牙时节省更多能源,如设备参考类中所述

定义多个 IAC 的主要目的是限制扫描范围内的设备时收到的响应数量。

3-) 汽车制造商之间是否有标准?

=> 有蓝牙配置文件标准 HFP、HSP、A2DP 并且有设备等级 (CoD) 标准,您可以计算您的设备等级 ^^ 请参见以下计算器。制造商仅尊重蓝牙标准(配置文件 + 设备类别)

4-)有没有办法确定只检测汽车设备?

=> 我不太清楚,但我想您可以获取设备类并使用设备参考类进行比较

注:pdf文件来源来自蓝牙官方文章Bluetooth® Baseband

于 2015-03-23T12:07:50.417 回答