Подтвердить что ты не робот

В настоящее время подключено Bluetooth-устройство Android

Я могу видеть два состояния в устройстве Bluetooth в Android. 1. Сопряженный 2. Подключено. - Страница Я пытаюсь получить подключенное в настоящее время устройство Bluetooth в Android. Но я получаю только парный список устройств из adapter.getBondedDevices(); Мне нужно подключенное в настоящее время устройство. Как я могу это получить. Пожалуйста, помогите мне в этом. Спасибо заранее.

4b9b3361

Ответ 1

Это довольно прямолинейно. Android BluetoothManager имеют метод

getConnectedDevices()

Реализация как:

BluetoothManager manager = (BluetoothManager) getSystemService(BLUETOOTH_SERVICE);
    List<BluetoothDevice> connected = manager.getConnectedDevices(GATT);
    Log.i("Connected Devices: ", connected.size()+"");

Если вы хотите получить более подробную информацию о подключенных устройствах, вы можете использовать приведенный выше метод списка, поместив его в цикл for и получить внутренние данные каждого подключенного устройства Bluetooth.

Logs:

12-20 18:04:09.679 14933-14933/com.salman.dleague.blescanning I/Connected Devices:: 2

Надеюсь, что это полезно:)

Ответ 2

Добавьте это в файл манифеста      

<receiver android:name=".MyBluetoothReceiver" >
<intent-filter>
<action android:name="android.bluetooth.device.action.ACL_CONNECTED" />
<action android:name="android.bluetooth.device.action.ACL_DISCONNECTED" 
/>
<action 
android:name="android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED" 
/>           
</intent-filter>  
</receiver>  

Добавьте этот класс

public class MyBluetoothReceiver extends BroadcastReceiver {
 @Override
public void onReceive(Context context, Intent intent) {
    String action = intent.getAction();

    // When discovery finds a device
    if (BluetoothDevice.ACTION_ACL_CONNECTED.equals(action)) {

    BluetoothDevice device = intent
                .getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

     Toast.makeText(getApplicationContext(),device.getName() +" CONNECTED",Toast.LENGTH_LONG).show();

    } else if (BluetoothAdapter.ACL_DISCONNECTED
            .equals(action)) {

    }
}
}