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

使用自定义uuid进行iOS蓝牙后台扫描

阮昊阳
2023-03-14

是否可以在后台扫描宣传UUID的外围设备,该UUID不是已知的配置文件?我有一个外围设备广告这些服务UUID:180418021803,“00000200-37CB-11E3-8682-0002A5D5C51B

当我这样扫描时:

CenturalManager.scanForPerperpheralsAuthServices([CBUUID(string:"00000200-37CB-11E3-8682-0002A5D5C51B")],选项: nil)

我在后台找不到设备,但是,当我这样扫描时:

centralManager。scanForPeripheralsWithServices([CBUUID(字符串:“1804”)],选项:nil)

我可以在后台找到设备。

我还想知道cbcentralmanagerscanoptionsolicitedserviceuidskey的用途是什么,以及指定此选项与使用scanForPeripheralsWithServices中的第一个参数有何不同。

共有1个答案

季森
2023-03-14

原则上,您确实可以扫描“未知配置文件”。但是,某些平台将扫描的配置文件限制为仅使用标准规范ID。您使用的是什么语言?字符串还必须遵循标准格式。

避免使用官方基UUID:xxxxxxxx-0000-1000-8000-00805f9b34fb,从中保留所有高位32位(一些已分配)

您可以使用自定义的128位UUID。有在线工具可以生成它们。将其转换为每个特征的内部n位短uuid。

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

  • 我正在尝试构建一个使用蓝牙的android应用程序。在教程中,他们使用128位UUID,但我只有16位UUID。我必须使用服务UUID和蓝牙基础创建一个新的128位UUID。 例子: 警报通知服务UUID(16bit)= 通过组合这两个UUID,我们收到。。。 警报通知服务UUID(128bit)= 有没有合适的方法?

  • 首先,BLE外设模拟器的源代码对于任何研究Web蓝牙的人来说都是一个巨大的资源。 有一份经批准的关贸总协定服务清单。 当我修改Android源代码以使用自定义的GATT服务(只需在Android代码中指定自己的UUID即可轻松完成)时,从网页到运行GATT服务器的Android应用程序的配对失败。 Web蓝牙留档确实声明,“如果设备通告的服务UUID与服务UUID集有非空交集,请添加设备以产生结果

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

  • 我正在尝试编写一个简单的应用程序来扫描和连接蓝牙设备。从最新的更新开始,我注意到当从codename one首选项安装蓝牙库时,它不起作用-它会安装,并且我没有得到任何例外,但是蓝牙功能不起作用。我已尝试在下载最新的回购协议https://github.com/codenameone/bluetoothle-codenameone并将蓝牙库复制到我的项目中,但我在IOS和Android上都得到了相