android - Android扫描经典蓝牙设备时如何获取原始扫描记录(广告包)?

标签 android bluetooth

我现在正在做的是尝试同时扫描 BLE 和经典蓝牙设备。据我所知,我可以通过使用发现两者:

BluetoothAdapter.getDefaultAdapter().startDiscovery() 并通过先前注册的 BroadcastReceiver 接收 Intent 。它工作正常,我可以区分经典设备和 LE 设备,但我在广告数据包中有一些有值(value)的数据,但我不知道如何从传入的 Intent 中获取它。感谢任何想法。

最佳答案

我不确定这是否能让您获得所有您需要的信息,但至少应该能让您获得其中的一部分。

当您收到 ACTION_FOUND Intent 时,该 Intent 有一个由 BluetoothDevice.EXTRA_DEVICE 标识的额外字段。这个 extra 包含一个代表远程设备的 BluetoothDevice 实例。 BluetoothDevice 实例将允许您获取有关设备的一些信息,例如设备的名称和类型。

此外,ACTION_FOUND Intent 还有一个由 BluetoothDevice.EXTRA_CLASS 标识的额外字段,其中包含一个 BluetoothClass该实例还提供有关远程设备的更多信息,例如设备的类别。

请参阅 BluetoothDevice 的类文档和 BluetoothClass .

关于android - Android扫描经典蓝牙设备时如何获取原始扫描记录(广告包)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31970607/

相关文章:

android - 蓝牙连接另一台安卓设备一段时间后一直断开

android - "Invalid File"点击SD卡中的图片出错(android)

java - 在我的应用程序的特定时间在移动屏幕上显示透明图像

java - Android 多点触控事件问题......拖动时没有新的触摸事件?

java - 当我从 Android Studio 在 Android 手机上运行应用程序时,它显示空白屏幕

audio - 一次发送到两个蓝牙扬声器

android - MultiDexTestRunner 不适用于 MultiDexApplication

bluetooth - BLE 广告数据包中制造商特定数据的公司 ID 列表

android - Android 6 (Marshmallow) 中的不稳定 BLE 连接

Android - 蓝牙发现未找到任何设备