Соединение Android BLE, временной интервал

Здравствуйте, я новичок в Android BLE, я подключаю устройство BLE, так как в случае сбоя соединения он попытается повторно подключиться 5 раз, если все еще не удалось установить соединение, то он покажет пользователю сообщение о том, что соединение не выполнено в противном случае он попытается 5 раз

Ниже мой код

 else if (Utils.ACTION_DEVICE_DISCONNECTED.equals(action)) {
                Log.d(TAG, "onReceive: ACTION_DEVICE_DISCONNECTED");
                isDeviceConnected = false;
                if(!isOnceConnected && tryAgainToConnectCounter < NO_OFF_TIMES_TRY_TO_CONNECT) {
                   connectdevice();
                }else {
                    tryAgainToConnectCounter = 0;
                    generateToast(getResources()
                            .getString(R.string.strdisconnected));
                    if (progressDialog != null && progressDialog.isShowing()){
                        progressDialog.dismiss();
                    }
                    deviceDisconnectedMsg();
                }

            }

Теперь моя проблема в том, что когда мой телефон пытается подключиться к устройству, и если соединение не удалось, это занимает 18 секунд между ними.

Я хочу сократить это время, это означает, что мой телефон будет пытаться подключиться всего 5 секунд, а через 5 секунд, если это невозможно, он должен перейти в состояние DEVICE_DISCONNECTED и попытаться подключиться снова.

Я видел ссылку ниже

Интервал времени подключения Android BLE

но это после подключения, интервал передачи данных, я хочу, когда устройство пытается подключиться

Кто-нибудь, пожалуйста, помогите мне, как решить это

Большое спасибо


person Panchal Amit    schedule 07.12.2016    source источник
comment
вам нужно вручную подождать 5 секунд и проверить состояние. Если он не подключен, то вы можете bluetoothGatt.close(); подключиться   -  person Vladyslav Matviienko    schedule 07.12.2016
comment
Спасибо @VladMatvienko, попробую так   -  person Panchal Amit    schedule 07.12.2016
comment
Вам придется лучше определить не удалось подключиться. Если вы имеете в виду, что периферийное устройство не отвечает и вызывает тайм-аут уровня связи, значение тайм-аута Android установлено на 20 секунд, поэтому для обнаружения ошибки потребуется довольно много времени. Вы не сможете повторно подключиться должным образом, пока не истечет этот тайм-аут.   -  person Emil    schedule 07.12.2016