蓝牙低功耗正在两个手机之间工作?

问题描述

我在我的移动应用程序中使用了react-native的蓝牙低功耗功能。 我只想找到其他移动设备, 所以我找不到其他手机以及它们支持的蓝牙低功耗手机, 但是我找到了我的Smartwatch, 好吧,我的问题是蓝牙低耗能找到其他手机还是仅用于配件?

以及您要我怎样寻找其他手机。

我的代码

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",

解决方法

低功耗蓝牙(BLE)的工作方式不同于“旧”蓝牙(经典蓝牙)。开启蓝牙后,您的设备即可在“蓝牙经典”扫描中看到,而对于BLE扫描则不可见。

要找到BLE设备,必须将该设备宣传其礼物。这是BLE和Bluetooth Classic之间的区别之一,并允许小型配件节省电量。您需要在另一部手机上运行GATT服务器并发布服务。一种有效的非常通用的工具是nRF Connect

请阅读有关how BLE works的更多信息。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...