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信号强度越大。