Конфигурация устройства не работает через Bluetooth в Android - PullRequest
0 голосов
/ 27 августа 2018

Привет, это устройство, соединяющее код с использованием 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();
    }
...