我正在开发BLE应用程序。我是ble概念的新手。我请求512的MTU。但是不会触发onMTUchanged的回叫。使用的操作系统为Android 8.1.0,电话为Moto G(5s)。 APK为27。 代码如下:
if (newState == BluetoothProfile.STATE_CONNECTED) {
Log.i(TAG, "Connected to a remote GATT server.");
mBluetoothGatt.requestMtu(512);
}
@Override
public void onMtuChanged(BluetoothGatt gatt, int mtu, int status) {
Log.i(TAG,"onMtuChanged" );
super.onMtuChanged(gatt, mtu, status);
if (status == BluetoothGatt.GATT_SUCCESS) {
BleDataExchangeClientActivity.this.supportedMTU = mtu;
if(mBluetoothLeService.discoverServices(mBluetoothGatt)) {
Log.i(TAG, "Attempting to start service discovery");
}
}
}
我将日志附加如下:
2018-11-23 12:11:28.054 12277-12291/com.comodevapp
D/BluetoothGatt: configureMTU() - device: 11:22:33:A4:A5:A6 mtu: 512
2018-11-23 12:11:28.914 12277-12291/com.comodevapp D/BluetoothGatt:
onConfigureMTU() - Device=11:22:33:A4:A5:A6 mtu=23 status=0
2018-11-23 12:17:08.519 12277-12290/com.comodevapp D/BluetoothGatt:
请帮助我。