Android 三星S7(Oreo)BLE扫描和断开连接问题

Android 三星S7(Oreo)BLE扫描和断开连接问题,android,bluetooth-lowenergy,disconnect,Android,Bluetooth Lowenergy,Disconnect,我们的应用程序需要连接BLE设备来采集数据,在三星S7(型号SM-930W8,安卓8.0)上运行时代码有两个问题: BluetoothLeScanner.startScan(过滤器、设置、mScanCallback)无法找到我们的设备(如果我们稍后通过空过滤器并使用代码进行过滤,则可以解决此问题) BluetoothGatt.disconnect()不会通过我们的设备与三星S7断开连接。我们使用CompileSDK版本29,MinSDK版本26。 如果将Minsdk版本降级至24,此应用程序适用

我们的应用程序需要连接BLE设备来采集数据,在三星S7(型号SM-930W8,安卓8.0)上运行时代码有两个问题:

  • BluetoothLeScanner.startScan(过滤器、设置、mScanCallback)无法找到我们的设备(如果我们稍后通过空过滤器并使用代码进行过滤,则可以解决此问题)
  • BluetoothGatt.disconnect()不会通过我们的设备与三星S7断开连接。我们使用CompileSDK版本29,MinSDK版本26。 如果将Minsdk版本降级至24,此应用程序适用于三星S7 Active、三星S8(SM-G950W),也适用于三星S6 Edge。我还试图关闭三星S7上的“附近设备扫描”,但没有成功
    我们看不到您正在设置的过滤器…您可以添加它们吗?否则就无法诊断问题。我们传入的过滤器是一个空阵列,可以找到、连接和通信传感器<代码>mBluetoothLeScanner.startScan(过滤器、设置、mScanCallback)作为解决方法,从手机发送重置命令,断开SM-930W8与传感器的连接。对于其他手机,没有这样的额外步骤来断开传感器。
    ScanSettings settings = new ScanSettings.Builder()
                    .setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY)
                    .build();
    mBluetoothLeScanner.startScan(filters, settings, mScanCallback);
    
    mGatt.disconnect();