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

扫描配对设备时返回的UUID/服务无效

江阳夏
2023-03-14

我试图从已经配对的设备列表中根据其服务找到特定类型的设备,但当我获得设备UUID时,设备支持的服务都没有显示出来。

我不想使用设备。connectGatt(this,false,gattCallback) 以最终找到正确的设备,因为它效率低下。

相关代码段如下

            for(BluetoothDevice device : bondedDevices) {
                ParcelUuid temp_uuids = device.getUuids();
                for (ParcelUuid uuids : myUuids) {
                    if (uuids.equals(temp_uuids)) {
                        targetDevice = device;
                        return targetDevice;
                    }
                }
            }
           Log.d(TAG, "Target Device Not Found");
           return targetDevice;

如果(uuids.equals(temp\uuids))语句检查equals从未满足,我相信我的蓝牙设备应该在SDP中包含的服务列表下添加GATT服务UUID,但由于某种原因,它没有被检测到。

共有1个答案

屠泰平
2023-03-14

听起来不可靠getBondedDevices仅返回先前配对的设备<代码>获取UUID提供服务UUID的本地副本,前提是首先发现服务。

将start Scan与ScanFilter中的所需服务UUID一起使用,以获取满足过滤器的所有附近设备。

 类似资料:
  • 我正在尝试枚举所有与我的设备配对的蓝牙设备。在设置中,我可以查看配对的设备,但以下代码不返回任何项目: 我看过这篇和其他使用这种方法的帖子,但我似乎无法让它发挥作用。 我在Manifest.xml有以下权限: 此外,如果我将其中一个已配对的设备置于发现模式并进行扫描,则该设备会以已配对的状态返回。如果我检查: 从扫描中,它返回true。 我做错了什么或不理解什么?

  • 我正在创建一个Android应用程序,该应用程序使用Android Studio扫描所有附近的BLE(蓝牙低功耗)设备。 我想我已经实施了所有这些文件: https://developer.android.com/guide/topics/connectivity/bluetooth/ble-overview https://developer.android.com/guide/topics/c

  • 开启蓝牙扫描 参数说明 字段 类型 必须? 说明 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

  • 在我的iOS应用程序中,当我扫描蓝牙设备时,我会看到来自每个附近设备的外围UUID和其他数据,如下所示: 然后,我希望继续在后台扫描具有特定UUID的单个设备(当应用程序关闭时),并在应用程序靠近或可连接时收到通知。 请注意,许多设备(包括Apple iPad等)在广告包中没有UUID。它们仅在外围信息中UUID。 我尝试了几种方法: > 我知道我可以扫描具有如下已知服务ID的设备:,但我在蓝牙G

  • 我试图扫描BLE设备与 (我知道它在新版本中已经过时了,但我只是想看看它是否能与我的手机配合使用[4.4],我正在使用它)。因此,它开始扫描,然后继续,没有给出错误,但没有检测到设备。也会触发OnLEScan事件,但其中的设备参数为null。我的LE设备就在那里并已连接。 在Google上,我发现如果BluetoothAdapter没有UUID,就会发生这种情况。如何设置UUID?何时调用/启动O