如何知道我的BluetoothDevice是否已连接?

时间:2018-10-06 16:08:37

标签: android bluetooth

我正在尝试检查我的BluetoothDevice是否连接到某些东西。 如果已连接,请获取另一台设备的数据

我想对我的应用程序实现此功能,因为我需要监视连接是否丢失或仍处于连接状态,并在连接发生更改时添加可视指示器。

尝试使用此功能,但吐司会不断显示附近的设备(未连接):

if (BluetoothDevice.ACTION_ACL_CONNECTED.equals(action)) {
    BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
    String name = device.getName();
    Toast.makeText(getApplicationContext(),name,Toast.LENGTH_SHORT).show();
}

1 个答案:

答案 0 :(得分:0)

AFAIK无法查看连接状态。相反,您可以监视蓝牙连接状态的变化。因此,您可以注册一个接收器,然后在断开设备连接时接收广播。

IntentFilter filter = new IntentFilter();
filter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED);
this.registerReceiver(rec, filter);

private BroadcastReceiver rec = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
    String action = intent.getAction();
    if (BluetoothDevice.ACTION_DISCONNECTED.equals(action)) {
       // Bluetooth is now disconnected
    }
}