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