在 Google 的蓝牙 HDP 示例中,它似乎只尝试启动与设备的连接(因此手机将成为客户端,而健康设备将成为服务器)。
但是,我拥有的健康设备(Omron 708-BT)仅设计为蓝牙客户端而不是服务器 - 它只能启动连接但不能监听传入连接。
我怎样才能让我的手机监听传入的 HDP 连接,就像它在此处为 SPP 所做的那样?
在 Google 的蓝牙 HDP 示例中,它似乎只尝试启动与设备的连接(因此手机将成为客户端,而健康设备将成为服务器)。
但是,我拥有的健康设备(Omron 708-BT)仅设计为蓝牙客户端而不是服务器 - 它只能启动连接但不能监听传入连接。
我怎样才能让我的手机监听传入的 HDP 连接,就像它在此处为 SPP 所做的那样?
有一个基于 Antidote 11073 堆栈的示例应用程序可以做到这一点:
https://github.com/brasileiroaraujo/HealthServiceAndroid
基本上你需要在 BluetoothHDPService 中注册一个处理程序(通过发送一个 MSG_REG_CLIENT)。在示例源中,处理程序名称是 mIncomingHandler。
当设备连接并创建 HDP 通道时,处理程序会收到类似 BluetoothHDPService.STATUS_CREATE_CHANNEL 的消息。
不要忘记通过发送 BluetoothHDPService.MSG_REG_HEALTH_APP 消息来注册您接受的数据类型。我认为血压的数据类型是 0x1007。