Привет, это устройство, соединяющее код с использованием Bluetooth. После этого обнаружение устройства работало нормально, пытаясь настроить устройство и сохранить данные в локальной базе данных. Но иногда он не показывает загрузчик, а в следующий раз не показывает даже загрузчик..
может помочь мне решить проблему
config.java: нажмите на кнопку сохранения, вызывая метод sendCommandToBleService ()
@OnClick(R.id.saveConfig)
public void onClick() {
sendCommandToBleService();
}
, печать по методу ниже с использованием logcat работает идеально.Но иногда показывается загрузчик, иногда не показывающий конфигурацию.
private void sendCommandToBleService() {
String pollNumber = mPollNumber.getText().toString();
String geoLocation = mGeoLocation.getText().toString();
String luminairePower = mLuminourPower.getText().toString();
String projectName = mProjectName.getText().toString();
String battAh = mBatteryAh.getText().toString();
String pannelWatt = mPannelWatt.getText().toString();
if (TextUtils.isEmpty(pollNumber)) {
Toast.makeText(LightConfigurationActivity.this, R.string.poll_number_blank, Toast.LENGTH_SHORT).show();
return;
}
if (TextUtils.isEmpty(geoLocation) || geoLocation.equalsIgnoreCase("SET")) {
Toast.makeText(LightConfigurationActivity.this, R.string.geoLocation_blank, Toast.LENGTH_SHORT).show();
return;
}
if (TextUtils.isEmpty(luminairePower) || luminairePower.equalsIgnoreCase("SET")) {
Toast.makeText(LightConfigurationActivity.this, R.string.luminour_power_empty, Toast.LENGTH_SHORT).show();
return;
}
if (TextUtils.isEmpty(projectName)) {
Toast.makeText(LightConfigurationActivity.this, R.string.project_name_blank, Toast.LENGTH_SHORT).show();
return;
}
if (TextUtils.isEmpty(battAh)) {
Toast.makeText(LightConfigurationActivity.this, R.string.battery_ah_blank, Toast.LENGTH_SHORT).show();
return;
}
if (TextUtils.isEmpty(pannelWatt)) {
Toast.makeText(LightConfigurationActivity.this, R.string.pannel_watt_blank, Toast.LENGTH_SHORT).show();
return;
}
makeDefaultValues(pollNumber, geoLocation, luminairePower, projectName, battAh, pannelWatt);
if (battAh.length() == 1) {
battAh = "00" + battAh;
} else if (battAh.length() == 2) {
battAh = "0" + battAh;
}
if (pannelWatt.length() == 1) {
pannelWatt = "00" + pannelWatt;
} else if (pannelWatt.length() == 2) {
pannelWatt = "0" + pannelWatt;
}
sendCommandsToBleService(battAh, pannelWatt);
}
ниже метода, передающего два параметра, один - высокое напряжение, а второй - низкий.
private void sendCommandsToBleService(String batAhValue, String pannellwattValue) {
String command = mSolarController.generatePacket("pol " + mPollNumber.getText().toString(), "00");
String longCmd = mPref.getString(Constants.LAT_COMMAND, "");
String latCmd = mPref.getString(Constants.LONG_COMMAND, "");
String firstTimerCmd = mPref.getString(Constants.TIMER_ONE_CMD, "");
String secondTimerCmd = mPref.getString(Constants.TIMER_TWO_CMD, "");
String projectCmd = mSolarController.generatePacket("pro " + mProjectName.getText().toString(), "00");
String batAh = mSolarController.generatePacket("battah " + batAhValue, "00");
String pannelWatt = mSolarController.generatePacket("panelw " + pannellwattValue, "00");
String wattCommand = mPref.getString(Constants.BRIGHTNESS_CMD, "");
String luminaryWatt = mPref.getString(Constants.LUMINOURE_WATT_COMMAND, "");
mBleService.addCommandToQue(command);
mBleService.addCommandToQue(longCmd);
mBleService.addCommandToQue(latCmd);
mBleService.addCommandToQue(firstTimerCmd);
mBleService.addCommandToQue(secondTimerCmd);
mBleService.addCommandToQue(projectCmd);
mBleService.addCommandToQue(batAh);
mBleService.addCommandToQue(pannelWatt);
mBleService.addCommandToQue(wattCommand);
mBleService.addCommandToQue(luminaryWatt);
showProgressDialog();
mBleService.sendCommandToBle();
}