android - 预计 ble 设备可能不会宣传服务吗?
问题描述
我正在使用颤振反应式 ble 连接到具有特定 serviceId 的蓝牙设备。
该库允许我扫描具有特定服务 ID 的设备...
var stream = _ble.scanForDevices(withServices: [ myServiceId ] , scanMode: ScanMode.lowLatency);
此扫描最终没有产生任何结果。
如果我没有在扫描时提供 serviceId,我可以在所有扫描的设备上调用发现服务,然后找到我正在寻找的服务......
List<DiscoveredService> services = await _ble.discoverServices(_device.id);
这是一个有效的场景吗?蓝牙设备是否必须做一些特殊的事情,比如宣传服务,才能通过 serviceId 解析扫描?是否存在广告服务与发现服务之类的东西?
解决方案
推荐阅读
- php - mysql 结果到正确的分组 json
- dataframe - 在 pyspark 上保留中间副本的同时过滤数据帧
- python - 地图字典查找
- r - 我如何知道何时在 R 中的 riskratio() 函数中使用 rev = "something other than both"?
- javascript - 每个单词的首字母大写
- c++ - unordered_map 与带有 int 键的向量
- css - Photoshop 样式在 CSS 中看起来不同 - 我不知道为什么,有什么解决方案吗?
- python - 如何将灰度图像转换为具有 x、y 和像素强度值的 csv 文件?
- java - 如何在 EditText 中更改图像大小?
- mapbox - 为什么 Geoserver 返回带有覆盖范围限制的 404 响应?