当前位置: 首页 > 知识库问答 >
问题:

Android:将蓝牙经典扫描与低能扫描分开,或将经典设备与低能设备区分开来

鲁彬炳
2023-03-14

我正在开发一款Android应用程序,可以实现蓝牙功能。蓝牙扫描,一切正常(我在这里参考了android bletooth聊天代码示例:(https://android.googlesource.com/platform/development//25b6aed7b2e01ce7bdc0dfa1a79eaf009ad178fe/samples/BluetoothChat),但当蓝牙扫描运行时,我的设备也会发现蓝牙低能量设备。我用Galaxy Nexus(Android KitKat)和Nexus 7(2013)(也叫KitKat)试过。

如何防止BluetoothAdapter在使用该功能时发现蓝牙LE设备

mBluetoothAdapter.startDiscovery();

官方蓝牙低能耗示例(http://developer.android.com/samples/BluetoothLeGatt/index.html)表示,对于低能耗扫描,您必须使用

mBluetoothAdapter.startLEScan();

作为一种解决方案,是否有可能区分已发现的蓝牙经典设备和已发现的蓝牙低能耗设备?

共有1个答案

孟新知
2023-03-14

你可以使用这个功能

getType()

每人

BluetoothDevice

见:http://developer.android.com/reference/android/bluetooth/BluetoothDevice.html

并搜索所有属于设备类型的设备

 类似资料:
  • 开启蓝牙扫描 参数说明 字段 类型 必须? 说明 blePrefix String 是 设备名称类型前缀 示例代码 Swift: RokidMobileSDK.binder.startBLEScan(blePrefix: String) ->Bool Objc: [RokidMobileSDK.binder startBLEScanWithBlePrefix:@"Rokid-"]; 手机蓝牙未打

  • 扫描设备 介绍 需要传入扫描蓝牙设备的名称的前缀,回调均在主线程。如果传空,是无法获取设备列表。 1、单前缀蓝牙设备 参数说明 字段 类型 必须? 说明 type String 是 设备名称类型前缀 举个大栗子 String type = "Rokid-" RokidMobileSDK.binder.startBTScan(type, new IBTScanCallBack() { @Ov

  • 我的应用程序应连接到蓝牙LE设备。通常使用mBluetoothAdapter执行设备扫描。Stratescan(mLeScanCallback) 。回调为您提供有关可用设备的信息。 如果要连接到专用设备,请执行以下操作 然后 在我看来,连接到BLE设备的唯一需要是知道BLE地址,然后通过以上两个步骤连接到它。因此,如果我已经知道一个BLE地址(例如,它写在BLE设备的标签上),我就不需要执行BLE

  • 我目前正在开发一个应用程序,将使用蓝牙低能耗。 我正在使用以下链接, http://developer.android.com/samples/BluetoothLeGatt/src/com.example.android.bluetoothlegatt/DeviceScanActivity.html 我无法扫描周围的BLE设备。 要扫描设备,

  • 我正在尝试使用基于处理的android应用程序扫描蓝牙设备。我想使用处理通过蓝牙与我的微控制器板通信,如下例所示: http://webdelcire.com/wordpress/archives/1045 我成功地在我的android平板电脑上启动了这个应用程序。但是,我无法在平板电脑上列出蓝牙设备。我的平板电脑识别的唯一蓝牙设备是我电脑上的蓝牙适配器。为什么我不能列出所有蓝牙设备?我的电脑能够

  • 我试图用BLE API扫描附近的蓝牙设备,但它似乎不起作用 我已经在清单中添加了权限 以下内容在创建对象时 创建扫描仪回调对象并进一步扫描 在logcat中,我只看到以下内容 这是我的app build gradle } 有人能指出我在这里遗漏了什么吗?