Android蓝牙:当有多个从设备时,如何检测哪个从设备断开连接?

时间:2014-12-27 11:45:39

标签: android bluetooth

此网站上有相当多的帖子(例如thisthisthis)讨论了如何在Android上检测丢失的蓝牙连接。基本上,可以注册广告的行动

  • BluetoothAdapter.ACTION_ACL_DISCONNECT_REQUESTED
  • BluetoothAdapter.ACTION_ACL_DISCONNECTED

但是,如果有多个从属设备,我如何知道其中一个是否已断开连接或即将断开连接?

修改

  1. 我的用例是一款多人游戏。
  2. BluetoothSocket类的方法isConnected()似乎很有用,但它需要API等级14(Android 4.0)或更高版本。

1 个答案:

答案 0 :(得分:1)

在Android中,您可以了解设备的状态。 您可以使用android.bluetooth.BluetoothProfile界面。它提供了一个名为public abstract List<BluetoothDevice> getDevicesMatchingConnectionStates (int[] states)的API 返回所有蓝牙设备的列表。您可以在参数数组中指定STATE_CONNECTED, STATE_CONNECTING, STATE_DISCONNECTED, STATE_DISCONNECTING之类的状态。 有关详细信息,请参阅: http://developer.android.com/reference/android/bluetooth/BluetoothProfile.html#getDevicesMatchingConnectionStates(int[])