Я пытаюсь подключиться к устройству 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), сказав«Не удалось подключиться к устройству»
Я много искал, не мог найти ответ.Заранее спасибо.