Android: 我无法获得蓝牙配对设备

Android: I can't get bluetooth paired device

我可以发现设备和创建绑定。它工作正常。 但是当用户关闭应用程序并再次打开时,我已经处于绑定状态,我只需要打开串行套接字但找不到设备!

GetBondedDevice 给出之前连接的所有设备以及活动的设备。 因此,我不明白它是否真的已连接并准备好打开 serialsocket! 串行套接字并不总是处于活动状态。我正在关闭 onDestroy 或 onPause 以停止通信。

为了简化问题:我想检查给定的 mac 地址是否已配对并准备好打开串行套接字。

如您所述,配对设备和连接设备是两种不同的东西:-

  • 配对设备:这些设备已经交换了安全密钥,因此 'linked' 到您的 Android 设备(这使得重新连接更容易)。这些可以是连接的或未连接的。
  • 已连接的设备:这些设备与您的 Android 设备具有活动通道,可用于交换数据。

对于您的情况,要获取与您的设备有活动连接的设备,您可以使用 getConnectedDevices or getConnectionState

您可以在这里找到更多参考资料:-

  • How can I programmatically tell if a Bluetooth device is connected
  • Android: List connected Bluetooth devices
  • List connected Bluetooth devices