【问题标题】:How to broadcast text via Bluetooth like a HID keyboard?如何像 HID 键盘一样通过蓝牙广播文本?
【发布时间】:2020-05-06 13:49:03
【问题描述】:

我的客户需要一个应用程序,他可以在其中输入文本数据并通过蓝牙将其发送到另一台安卓设备。在接收设备上,应该将文本输入到当前活动的文本字段中(无论是在设置、浏览器还是任何其他应用程序中)。我的想法是将文本广播为 HID,因此它的行为类似于外部蓝牙键盘。是否可以创建这样的应用程序?

【问题讨论】:

    标签: java android kotlin bluetooth hid


    【解决方案1】:

    这取决于字符串的长度。蓝牙中没有广播这种东西,但是有设备广告。每台设备都可以宣传其服务,而其他所有设备都可以收听。

    但广告负载限制为 37 个字节。出于您的目的,您需要一个专有服务 UUID,它需要 16 个字节。剩下 21 个字节可以使用。如果您同意,您可以将要广播的字符串设置为广告负载中的设备名称。

    【讨论】:

    • 三思而后行。广播并不是一个好主意。更好地为您服务的是使发送者成为 GATT 服务器,它宣传和公开您定义的专有 GATT 服务。该服务具有存储实时字符串数据的特性。接收器作为 GATT 客户端工作。它使用您的服务扫描 GATT 服务器,然后订阅特征,其值会随着键盘输入而更新。谷歌在这里有大量的文档和示例:developer.android.com/guide/topics/connectivity/bluetooth-le
    • 在他们的 github 存储库中还有更多示例:github.com/android/connectivity-samples
    猜你喜欢
    • 2020-07-25
    • 2012-11-20
    • 2011-05-14
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多