gpt4 book ai didi

Android 如何以编程方式释放声明的 USB 接口(interface)

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

我在 AsyncTask 中运行 USB 连接。在某些情况下,如果我尝试使用连接,批量传输功能将永远不会返回。如果我终止 AsyncTask,除非我重新启动机器,否则连接将停止运行。

Log.d(TAG, "trying to connect");
boolean connected = con.claimInterface(device.getInterface(0), true);
Log.d(TAG, "connected: " + connected);

Log.d(TAG, "trying to transfer cmd");
int outGoingBytes = con.bulkTransfer(endPointOut, cmd, cmd.length, 0);
Log.d(TAG, "outGoingBytes: " + outGoingBytes);

永远不会到达最后一个日志。

有没有办法以编程方式释放接口(interface)以便重新建立连接?

这是 logcat 错误

E/UsbDeviceConnectionJNI: device is closed in native_claim_interface

最佳答案

尝试增加超时时间,您正在传递 0,输入 2000 毫秒或类似值。

con.bulkTransfer(endPointOut, cmd, cmd.length, 2000);

不太清楚,希望有经验的大神解答,不过释放通讯可以调用close()。

According to the documentation:

Releases all system resources related to the device. Once the object is closed it cannot be used again. The client must call openDevice(UsbDevice) again to retrieve a new instance to reestablish communication with the device.

关于Android 如何以编程方式释放声明的 USB 接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36408962/

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