如何使用react-native-ble-manager读取通用访问服务/特征

问题描述

我在Android 10上有一个使用本机反应构建的客户端应用程序

Android SDK:
  API Levels: 23,28
  Build Tools: 28.0.3
react: ^16.9.0 => 16.9.0
react-native: ^0.62.2 => 0.62.2

有效的方法: 服务发现 连接中 读取/写入/通知自定义(128位)特征

什么不起作用: 阅读通用访问服务0x1800的特征

服务发现: BleManager.retrieveServices / snip / “ characteristics”:[{“ characteristic”:“ 2a00”,“ properties”:[Object],“ service”:“ 1800”}}, 这是完整的设备名称特征。

我可以使用任何BLE客户端应用程序(例如LightBlue,因此服务器端可以工作。

我尝试读取16位短UUID:

    BleManager.read(peripheral.id,'1800','2a00').then((readData) => {
      console.log(readData);          
    }).catch((error) => {
      console.log(error); 
    });

,还有完整的128b版本:

BleManager.read(peripheral.id,'00001800-0000-1000-8000-00805f9b34fb','00002a00-0000-1000-8000-00805f9b34fb').then((readData) => {
  console.log(readData);          
}).catch((error) => {
  console.log(error); 
});

在两种情况下均捕获错误“找不到00002a00-0000-1000-8000-00805f9b34fb”。

请注意,对于我自己的自定义UUID,相同的代码也可以正常工作。 pheral.id是我的服务器外围设备的MAC地址。

任何想法有什么问题吗?谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)