Android低功耗蓝牙(BLE)随笔(三)

6. 设置MTU

蓝牙连接后的通讯默认MTU为23字节,被底层通讯占用了3字节,因此只能留给我们20字节,如果要增大MTU,需要使用这个方法:

    /**
     * 设置mtu
     *
     * @param mtu mtu的大小
     * @return 如果设置成功返回true,否则返回false
     */
    public boolean requestMtu(int mtu) {
        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && mBluetoothGatt.requestMtu(mtu);
    }

这个方法只有在Android 5.0 及以上才有。设置后也会有响应的回调方法被调用:

    private final BluetoothGattCallback mGattCallback = new BluetoothGattCallback() {
        @Override
        public void onMtuChanged(BluetoothGatt gatt, int mtu, int status) {
            super.onMtuChanged(gatt, mtu, status);
            // ...
        }
    };

7. 读取rssi值

mBluetoothGatt.readRemoteRssi();

读取方法

        @Override
        public void onReadRemoteRssi(BluetoothGatt gatt, int rssi, int status) {
            super.onReadRemoteRssi(gatt, rssi, status);
            //...
        }

值在回调中返回。
rssi表示蓝牙的信号强调,为负值,值越接近与0信号强度越大。

你可能感兴趣的:(Android低功耗蓝牙(BLE)随笔(三))