gpt4 book ai didi

android - 安卓手机的蓝牙设备类别有哪些?

转载 作者:行者123 更新时间:2023-11-29 15:33:13 25 4
gpt4 key购买 nike

对于我的应用程序,我进行了蓝牙发现搜索以列出所有可用的蓝牙设备。如果我在一个有很多计算机等的房间里,那么列表会很长。所以我想从列表中过滤 Android 手机。

我阅读了以下文档: http://developer.android.com/reference/android/bluetooth/BluetoothClass.Device.htmlhttp://developer.android.com/reference/android/bluetooth/BluetoothClass.Device.Major.html

所以我可以过滤一些设备,比如笔记本电脑、电脑等。

有人知道安卓手机可能有哪些常量吗?我不想冒险过滤太多设备,但我也想将列表限制为仅 Android 设备。

有什么提示吗?

最佳答案

蓝牙服务类是标准化的。根据类中存在的位,您可以确定该设备是否为计算机。事实上,该类可以公开有关每个决策的很多有用信息。

查看 hcid.conf 的联机帮助页。此页面描述了类的构建方式:

http://linux.die.net/man/5/hcid.conf

如上述文档所述:

Example: class 0x02hhhh : the device offers networking service Major device class allocation:

0x00: Miscellaneous

0x01: Computer (desktop,notebook, PDA, organizers, .... )

编辑:其他一些注意事项:

  1. 默认情况下,Android 手机不处于可发现模式。所以很有可能,除非您在设备上启动了可发现模式,否则您发现的设备都不会是 Android 设备。

  2. 许多手机都可以确定已发现设备的 RSSI(信号强度)。此信息在发现期间作为 bundle extra 传递给您的应用。附近的设备通常比远处的设备具有更高的 RSSI。所以你也可以通过“设备有多近”来过滤。

  3. 用于各种设备的蓝牙 MAC 将在一定范围内。 Bluetooth MAC的前三个字节对应的是Hardware Vendor……有很多供应商,但大多数都不生产手机蓝牙硬件。因此,您还可以通过蓝牙 MAC 进行过滤 - 如果它落在已知范围内,则它可能是 Android。

关于android - 安卓手机的蓝牙设备类别有哪些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3109710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com