目前连接的蓝牙设备android

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了目前连接的蓝牙设备android相关的知识,希望对你有一定的参考价值。

我可以在android中的蓝牙设备中看到两种状态。 1.配对2.已连接。 - 我正在尝试在Android中获取当前连接的蓝牙设备。但我只从adapter.getBondedDevices();获得配对设备列表我需要当前连接的设备。我怎么能得到这个。请有人帮助我实现这一目标。提前致谢。

答案

这很直截了当。 Android BluetoothManager有方法

getConnectedDevices()

实施如下:

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

如果您想了解有关已连接设备的更多详细信息,可以使用上面的列表方法将其置于for循环中,并获取所连接的每个蓝牙设备的内部详细信息。

日志:

12-20 18:04:09.679 14933-14933/com.salman.dleague.blescanning I/Connected Devices:: 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)) {

    }
}
}

以上是关于目前连接的蓝牙设备android的主要内容,如果未能解决你的问题,请参考以下文章

如何在代码中检查我的设备是不是支持连接的最大蓝牙?

Android开发之蓝牙(Bluetooth)

在 Android Studio 中读取已连接蓝牙低功耗设备的 RSSI 值

Android 蓝牙 API 连接到多个设备

Android项目实战(二十六):蓝牙连接硬件设备开发规范流程

有没有办法通过 iOS/swift 中的蓝牙以编程方式连接 android 和 IOS 设备?