BLEUtil.java 文件源码

java
阅读 38 收藏 0 点赞 0 评论 0

项目:BLECommunication 作者:
public void scanPeripheralWithServicesUUID_API21(final String uuid) {
        if (mBluetoothAdapter == null || !mBluetoothAdapter.isEnabled()) {
            requestOpenBT();
            return;
        }
        BluetoothLeScanner scanner = mBluetoothAdapter.getBluetoothLeScanner();
        ScanSettings settings = new ScanSettings.Builder().setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY).build();
        List<ScanFilter> list = new ArrayList<ScanFilter>(1);

        ScanCallback callback = new ScanCallback() {
            @Override
            public void onScanResult(int callbackType,  android.bluetooth.le.ScanResult result) {
                BluetoothDevice device = result.getDevice();

                ScanRecord sr = result.getScanRecord();

                int rssi = result.getRssi();
//              if (rssi > -15) {
//                  runCallbackWithErrorCode(BLEUtilErrorCode.E_RSSI_ERROR);
//                  return;
//              }
//              if (rssi < -35) {
//                  runCallbackWithErrorCode(BLEUtilErrorCode.E_RSSI_TOO_LOW);
//                  return;
//              }
                if (matchRules(rssi, sr.getBytes(), uuid)) {
                    connectToDevice(device);
                }
            }

            @Override
            public void onScanFailed(int errorCode) {

            }
        };

        if (uuid != null) {
            ScanFilter filter = new ScanFilter.Builder().setServiceUuid(ParcelUuid.fromString(uuid)).build();
            list.add(filter);
            scanner.startScan(list, settings, callback);
        } else {
//          scanner.startScan(null, settings, callback);
            scanner.startScan(callback);
        }
    }
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号