在android中按设备类别过滤汽车蓝牙设备

Mik*_*kel 5 android bluetooth

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

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

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

希望有人有同样的问题并给出答案。

Yah*_*hya 1

好问题,

\n\n

1- ) AUDIO_VIDEO_HANDSFREE 是否未在汽车以外的设备中使用?

\n\n

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

\n\n

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

\n\n

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

\n\n
\n

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

\n
\n\n

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

\n\n

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

\n\n

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

\n\n

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

\n\n

注:pdf文件来源来自官方蓝牙文章Bluetooth\xc2\xae Baseband

\n