蓝牙重启后启动BLE扫描(ANDROID)

时间:2016-04-08 12:59:21

标签: android-bluetooth bluetooth-lowenergy

我已经编写了一个Android服务,可以持续扫描特定设备,当找到设备时,它会与设备连接,读取数据并断开连接。当设备再次通告时,该服务再次进行相同的操作。 一般来说,它工作正常并显示预期的行为,但如果我关闭蓝牙并再次打开它,该服务不会连接到广告设备。一旦蓝牙开启,我就再次尝试扫描。我也尝试重新连接到关贸总协定,但没有任何帮助。

1 个答案:

答案 0 :(得分:0)

我弄明白了这个错误。对于面临同样问题的其他人可能会有用。我的问题是我在我的Scan方法中进行了检查,以确保只有当我的BluetoothGatt对象为空时才开始扫描。

    public void startNordicScan() {
        if (mGatt == null) {
            Log.d(LOGTAG, "startScan");
            BluetoothLeScannerCompat scanner = BluetoothLeScannerCompat.getScanner();
        scanner.startScan(mScanCallback);
        }
    }

因此,如果我在不制作mGatt(BluetoothGatt)对象的情况下再次开始扫描,则不会发现设备。