Java 如何像HID键盘一样通过蓝牙广播文本?
我的客户需要一个可以输入文本数据并通过蓝牙发送到另一个android设备的应用程序。在接收设备上,文本应输入到当前活动的文本字段中(无论是在设置、浏览器还是任何其他应用程序中)。我的想法是将文本广播为HID,使其行为类似于外部蓝牙键盘。有可能创建这样的应用程序吗 这取决于字符串的长度。蓝牙中没有广播,但有设备广告。每个设备都可以宣传其服务,其他设备也可以收听Java 如何像HID键盘一样通过蓝牙广播文本?,java,android,kotlin,bluetooth,hid,Java,Android,Kotlin,Bluetooth,Hid,我的客户需要一个可以输入文本数据并通过蓝牙发送到另一个android设备的应用程序。在接收设备上,文本应输入到当前活动的文本字段中(无论是在设置、浏览器还是任何其他应用程序中)。我的想法是将文本广播为HID,使其行为类似于外部蓝牙键盘。有可能创建这样的应用程序吗 这取决于字符串的长度。蓝牙中没有广播,但有设备广告。每个设备都可以宣传其服务,其他设备也可以收听 但是广告有效负载被限制为37字节。出于您的目的,您需要一个专有服务UUID,它需要16个字节。这就剩下21个字节可供处理。如果您同意,可以
但是广告有效负载被限制为37字节。出于您的目的,您需要一个专有服务UUID,它需要16个字节。这就剩下21个字节可供处理。如果您同意,可以将要广播的字符串设置为广告有效负载中设备的名称。这取决于字符串的长度。蓝牙中没有广播,但有设备广告。每个设备都可以宣传其服务,其他设备也可以收听
但是广告有效负载被限制为37字节。出于您的目的,您需要一个专有服务UUID,它需要16个字节。这就剩下21个字节可供处理。如果您对此没有异议,可以将要广播的字符串设置为广告有效负载中的设备名称。仔细想想。广播不是一个好主意。更好的做法是让发送方成为GATT服务器,它宣传并公开您定义的GATT专有服务。此服务具有存储活动字符串数据的特性。接收方作为GATT客户机工作。它使用您的服务扫描GATT服务器,然后订阅特征,其值随键盘输入而更新。谷歌在这里有大量的文档和示例:在github repos:上有更多的示例。广播不是一个好主意。更好的做法是让发送方成为GATT服务器,它宣传并公开您定义的GATT专有服务。此服务具有存储活动字符串数据的特性。接收方作为GATT客户机工作。它使用您的服务扫描GATT服务器,然后订阅特征,其值随键盘输入而更新。谷歌在这里有大量的文档和示例:在他们的github repos上有更多的示例: