안드로이드 세계

[Android] BluetoothDevice 현재 연결상태확인 본문

안드로이드(Android)/자바(JAVA)

[Android] BluetoothDevice 현재 연결상태확인

리안94 2021. 1. 25. 23:00

BlueTooth가 앱이 켜진 후 연결되는건 잘감지가되지만, 이미 연결된 장치가 있는지 여부에 대해서 알 필요가 있었다.

 

구글링을 통해 알게되었는데, Method방식을 이용하였다.

 

public 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);
    }
}

 

연결되어있는 장치가 있다면 true를 없다면 false를 반환한다.

 

해당 방식은 페어링된 장치중 연결된 장비가있는지 여부를 확인하는 방법이다.

 

public void PairingBluetoothListState(){
    try{
        Set<BluetoothDevice> bluetoothDevices = BluetoothAdapter.getDefaultAdapter().getBondedDevices();
        for (BluetoothDevice bluetoothDevice : bluetoothDevices) {
            if (isConnected(bluetoothDevice)) {
                 //TODO : 연결중인상태
            }else{
                //TODO : 연결중이 아닌상태
            }
        }
    }catch(NullPointExecption e){
        //블루투스 서비스 사용불가인 경우
    }
}

 

출처 : https://stackoverflow.com/questions/4715865/how-to-programmatically-tell-if-a-bluetooth-device-is-connected

 

How to programmatically tell if a Bluetooth device is connected?

I understand how to get a list of paired devices but how can I tell if they are connected? It must be possible since I see them listed in my phone's Bluetooth device list and it states their conn...

stackoverflow.com

Comments