Android: используйте диалог прогресса, пока не загрузится новое действие - PullRequest
0 голосов
/ 17 ноября 2018

Я пытаюсь подключиться к устройству Bluetooth (модуль BLE HC05) с помощью моего приложения, чтобы выполнить некоторые функции IOT

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

Это в BluetoothActivity.java

lvPairedDevices.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            final Intent intent = new Intent(BluetoothActivity.this, TemperatureActivity.class);
            intent.putExtra("Bluetooth Device Address", mBTPairedDevices.get(position).getAddress());
            startActivity(intent);

        }
    });

Как уже упоминалось, я отправляю MAC-адрес устройства Bluetooth.С его помощью делается попытка подключения к устройству.

Это в TemperatureActivity.java

Intent intent = getIntent();
Bundle extras = intent.getExtras();
deviceAddress = extras.getString("Bluetooth Device Address");
bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
device = bluetoothAdapter.getRemoteDevice(deviceAddress);

try {
        btSocket = device.createInsecureRfcommSocketToServiceRecord(myUUID);
        bluetoothAdapter.cancelDiscovery();
        btSocket.connect();

        if(btSocket.isConnected())
            Toast.makeText(TemperatureActivity.this,"Connected to " + device.getName() + " successfully", Toast.LENGTH_SHORT).show();
        else
            Toast.makeText(TemperatureActivity.this,"Couldn\'t connect to " + device.getName() + " properly", Toast.LENGTH_SHORT).show();

        outStream = btSocket.getOutputStream();
        connectedThread = new ConnectedThread(btSocket);
        connectedThread.start();
    } catch (IOException e) {
        Log.d(TAG, "onResume: Bluetooth device could not be connected using RFCOMM");
        Toast.makeText(TemperatureActivity.this, "Connection to device " + device.getName() + " using RFCOMM has failed", Toast.LENGTH_SHORT).show();
        finish();
    }

Согласно приведенному выше коду, если устройство находится в автономном режиме или отказалось подключиться,возникнет исключение.

В текущей ситуации есть ли возможность использовать диалоговое окно Progress в BluetoothActivity.java и остановить его в обоих случаях (соединение Bluetooth установлено успешно или нет) в TemperatureActivity.java

Я перейду к TemperatureActivity с MAC-адресом устройства, если оно успешно подключится к устройству, оно должно остаться на этой странице (TemperatureActivity), в противном случае вернусь на исходную страницу (BluetoothActivity), сказав«Не удалось подключиться к устройству»

Я много искал, не мог найти ответ.Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...