У меня есть приложение для Android, которое автоматически включает устройство Bluetooth и подключается к сопряженному устройству. Устройство отправляет данные, которые постоянно обновляются. Если пользователь нажимает кнопку включения устройства, которая используется для инициализации устройства и начала работы, до установления соединения, все предыдущие данные сбрасываются.
Это проект Android, полученный от сторонней компании, поэтому я изначально не писал код. У меня есть
private void initialize() {
// initializing and launching the Equipment layer api
try {
Utility.writeLogs(this, getString(R.string.info), TAG,
"Initializing EState Manager");
EStateManager.getInstance().launch(getResources());
getInfo();
requestConfiguration();
findViewById(R.id.btn_enable).setVisibility(View.VISIBLE);
handleConnectionDialog();
} catch (Exception e) {
e.printStackTrace();
Utility.writeLogs(this, getString(R.string.error), TAG,
"EStateManger initialization failed");
Utility.writeLogs(this, getString(R.string.error), TAG, e);
}
}
private void handleConnectionDialog() {
ScheduledExecutorService exec = Executors.newSingleThreadScheduledExecutor();
exec.scheduleAtFixedRate(() -> {
// do stuff
if (!EStateManager.getInstance().isDataReceived()) {
if (!new PrefUtil(this).isConnectionDialogEnabled()) {
runOnUiThread(() ->
onShowPopup(Utility.POPUP_MAP.get(14)));
}
} else {
if (!buttonPressed) {
findViewById(R.id.btn_enable).setVisibility(View.VISIBLE);
}
EStateManager.getInstance().setDataReceived(false);
}
}, 5, 5, TimeUnit.SECONDS);
}
. Я хочу отключить кнопку, пока Bluetooth не будет успешно подключен, чтобы гарантировать, что сохраненные параметры не изменятся.