UsbAccessory在Android中关闭连接的正确方法是什么?似乎甚至在谷歌股票的例子中,如果我连接和配件,退出应用程序然后回到它,连接不会重新建立.
仔细观察,似乎打完电话后close()上FileDescriptor,也不会再次打开,并且"无法打开/ dev/usb_accessory"日志发出.不调用close()是一个糟糕的选择,因为线程阻塞read()将不会被释放.在物理断开/重新连接设备后,一切正常.
看起来非常令人惊讶的是,退出应用程序然后再次打开它的简单用例在参考应用程序中不起作用,如果不可行则更令人惊讶.
我正在使用Nexus S运行的Android 2.3.6版本.
我想在我的Android应用程序(java GUI + native(C++)core)中使用libusb.我已经编译了libusb并尝试调用它的函数,但libusb_open返回LIBUSB_ERROR_ACCESS.我想USB访问权限有问题,但我不知道如何解决这个问题.那么,这里有两个问题:1)如何在一个有根的Android 3.1设备上运行libusb?2)是否可以在无根,出厂默认设备上使用libusb?
提前致谢.
PS至于问题1,我已经为/ dev/bus/usb尝试了chmod 666,但它说"权限被拒绝"(请注意我的设备已植根).
PPS mount usbfs none/proc/bus/usb -o devmode = 0666甚至没有执行,好像我拼错了一些东西(但我没有).
我知道可以让libusb在带有USB主机的root设备上工作,但我从来没有管理它,所以我不得不将应用限制在Android 3.1+并使用USB API.