Я пытаюсь создать связь между моим телефоном Android и моим устройством. Раньше они были соединены хорошо, позвонив device.connectGatt()
с моим gattCallback
. Но теперь, когда я хочу также добавить связь, вызвав device.createBond()
, мой onConnectionStateChange
показывает альтернативный шаблон подключения и отключения с кодом состояния 0 при подключении и 8 при отключении. Вот мой фрагмент кода того, как я пытаюсь использовать connectGatt
и createBond
вместе.
@Override
public void onScanResult(int callbackType, ScanResult result) {
System.out.println("on scan result");
super.onScanResult(callbackType, result);
BluetoothDevice device = result.getDevice();
synchronized (this) {
if (mBluetoothGatt == null) {
if (device.createBond()) {
System.out.println("create bond success");
mBluetoothGatt = device.connectGatt(mListener.retrieveApplicationContext(), true, mGattCallback);
}
else System.out.println("create bond sb");
}
}
}
Есть ли что-то неправильное в вызове этих двух методов таким образом? Я искал в Интернете информацию о создании облигаций, но ни одна из страниц не использует совместно createBond и connectGatt. В этом посте я получил только подсказку о том, как вызывать эти два метода следующим образом: Android BLE onCharacteristicChanged() с использованием уведомления не срабатывает
Кроме того, мой BroadCastReceiver
всегда показывает привязку устройства, но никогда не показывает привязку устройства.