4.7

安卓蓝牙低功耗(BLE)开发详解
蓝牙低功耗(BLE)技术在物联网设备中广泛应用,安卓提供了丰富的 API 用于 BLE 开发。​

  1. 权限与设备检查​
    在 AndroidManifest.xml 中添加权限:​





    在代码中检查设备是否支持 BLE:​

    BluetoothManager bluetoothManager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE);​
    BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter();​
    if (bluetoothAdapter == null ||!bluetoothAdapter.isMultipleAdvertisementSupported()) {​
    // 设备不支持BLE​
    return;​
    }​
  2. 扫描与连接设备​
    扫描 BLE 设备:​

    BluetoothLeScanner scanner = bluetoothAdapter.getBluetoothLeScanner();​
    ScanCallback scanCallback = new ScanCallback() {​
    @Override​
    public void onScanResult(int callbackType, ScanResult result) {​
    super.onScanResult(callbackType, result);​
    BluetoothDevice device = result.getDevice();​
    // 处理扫描到的设备​
    }​
    };​
    scanner.startScan(null, scanCallback);​

    连接设备并读取数据:​

    BluetoothGatt bluetoothGatt = device.connectGatt(this, false, new BluetoothGattCallback() {​
    @Override​
    public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {​
    if (newState == BluetoothProfile.STATE_CONNECTED) {​
    gatt.discoverServices();​
    }​
    }​
    @Override​
    public void onServicesDiscovered(BluetoothGatt gatt, int status) {​
    BluetoothGattService service = gatt.getService(UUID.fromString(SERVICE_UUID));​
    BluetoothGattCharacteristic characteristic = service.getCharacteristic(UUID.fromString(CHARACTERISTIC_UUID));​
    gatt.readCharacteristic(characteristic);​
    }​
    @Override​
    public void onCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {​
    byte[] value = characteristic.getValue();​
    // 处理读取到的数据​
    }​
    });​
posted @ 2025-04-07 20:29  Echosssss  阅读(12)  评论(0)    收藏  举报