gpt4 book ai didi

android - hidraw 设置报告/发送报告不适用于 Android 6.x

转载 作者:行者123 更新时间:2023-11-29 01:21:53 37 4
gpt4 key购买 nike

我有一个需要与之通信的蓝牙隐藏设备。目标平台是 Android 5.x+。目前正在 Nexus 7 2013 平板电脑上进行测试。

我的代码在 android 5.x 上运行良好,我能够在 Android 5.x 上接收、发送和设置报告。

在 Android 6.x 上,我只能接收设备发送的报告,但无法发送或设置报告。看起来我的设置/发送报告请求被 HID/BT 堆栈默默地忽略了。

与/dev/hidraw* 节点对话的代码以 root 身份作为 native 守护进程运行。

是否有任何新要求能够在 Android 6.x 上设置/发送报告到蓝牙隐藏设备?我是否可以对 AOSP 进行任何更改以使其正常工作?

[更新]Logcat 说:

05-17 11:22:56.085 2455-4061/com.android.bluetooth E/bt_btif: uhid_event: 从 uhid-dev 读取的大小无效:4108 != 4

我不明白从 uhid 读取怎么会只返回 4 个字节!前 4 个字节应该只包含事件的 type。是否有任何情况会导致 read() 小于 sizeof(struct uhid_event) 字节?

这是否表示 uhid 驱动程序中存在错误?

最佳答案

我检查了可用的内核源代码,发现 hidraw 驱动程序不包含可用于向/dev/hidraw* 节点提供报告的源代码

我还发现 Bluedroid 在内部正确接收和发送报告。

我发现获取/设置/发送报告的最简单方法是修改 bluedroid 以直接与我的应用程序通信以获取特定于供应商的报告。我将我的守护进程直接集成到 Bluedroid 中。

关于android - hidraw 设置报告/发送报告不适用于 Android 6.x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36333474/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com