Также хороший путь состоит в том, чтобы связаться с маленьким проектом с несколькими участниками (друзья, возможно), таким образом, можно учиться друг от друга и видеть, как другие люди делают свой материал.
Я знаю, что этот поток довольно стар, но я действительно должен был знать, было ли устройство подключено прямо при запуске моего приложения, и я нашел решение!
//List of Paired Devices
Set<BluetoothDevice> pairedDevices = bluetoothAdapter.getBondedDevices();
if (pairedDevices.size() > 0) {
// There are paired devices. Get the name and address of each paired device.
for (BluetoothDevice device : pairedDevices) {
String deviceName = device.getName();
String deviceHardwareAddress = device.getAddress(); // MAC address
}
}
else {
//There are no paired devices.
}
Это доступно прямо здесь в Kotlin также: https://developer.android.com/guide/topics/connectivity/bluetooth#QueryPairedDevices
Существует функция isConnected в системе BluetoothDevice API в https://android.googlesource.com/platform/frameworks/base / +/master/core/java/android/bluetooth/BluetoothDevice.java
, Если Вы хотите знать, подключается ли ограниченное (парное) устройство в настоящее время или нет, следующая функция хорошо работает для меня:
public static boolean isConnected(BluetoothDevice device) {
try {
Method m = device.getClass().getMethod("isConnected", (Class[]) null);
boolean connected = (boolean) m.invoke(device, (Object[]) null);
return connected;
} catch (Exception e) {
throw new IllegalStateException(e);
}
}