0

我在我的移动应用程序中使用了低功耗蓝牙和 react-native 。我只想找到其他移动设备,所以我找不到任何其他手机及其支持的低功耗蓝牙,但我找到了我的智能手表, 我的问题是低功耗蓝牙可以找到其他手机还是只是为了配饰?

你建议我找其他手机做什么。

我的代码

export const App = () => {
    const manager = new BleManager();

    manager.startDeviceScan(null, { scanMode: 2, }, (error, device) => {
        if (error) {
            console.log('error', error)
            return
        }

        if (device !== null) {
              console.log(device)
        }
    }
}

我已经编辑了我的 android/app/src/main/AndroidManifest.xml

<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission-sdk-23 android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>

我用了

  "react": "16.13.1",
  "react-native": "0.63.3", 
 "react-native-ble-plx": "^2.0.1",
4

1 回答 1

3

蓝牙低功耗 (BLE) 的工作方式与“旧”蓝牙(蓝牙经典)不同。一旦您打开蓝牙,您的设备就会在蓝牙经典扫描中可见,但对于 BLE 扫描则不可见。

要查找 BLE 设备,该设备必须宣传其存在。这是 BLE 和经典蓝牙之间的区别之一,它允许小配件节省电力。您需要在另一部手机上运行 GATT 服务器并宣传服务。一个非常通用的工具是nRF Connect

请阅读有关BLE 工作原理的更多信息。

于 2020-10-26T06:20:26.117 回答