Как программно определить, подключено устройство Bluetooth?

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

77
задан Roshana Pitigala 18 June 2019 в 17:02
поделиться

2 ответа

Я знаю, что этот поток довольно стар, но я действительно должен был знать, было ли устройство подключено прямо при запуске моего приложения, и я нашел решение!

//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

0
ответ дан 24 November 2019 в 10:52
поделиться

Существует функция 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);
    }
}
0
ответ дан 24 November 2019 в 10:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: