解决方案 »

  1.   

    楼主研究的怎么样了,我遇到和你一模一样的问题,每次只读取16384字节数据(16kb),摄像头一副图像有900K左右,怎么办呢?网上博客上有人也遇到了这个问题,貌似系统代码里做了限制
    http://han21912.lofter.com/post/c3919_2db138
    可以的话交流一下
    [email protected]
      

  2.   

    你的android手机有USB HOST模式吗?
    什么型号的手机?
    谢谢
      

  3.   

    hoozh 首先感谢你的关注的,我最后也查到了,就是限制在16K中的。其实我开始就有一种解决方法了,不过需要对设备进行root,我觉得麻烦。我的做法是,就是用android的JNI接口,在C代码中用libusb开源库来访问操作读写设备,再将图像数据通过jni接口上传到java层来显示!其实也是很好的,也没有什么问题。关键就是要先root设备,因为libusb操作设备需要root权限!http://han21912.lofter.com/post/c3919_2db138 在这篇文章中,明显可以看到,是不是android的源码中就做了这样的控制,在16K以内,我们可不可以重新编译操作系统,是否可以读取更大的数据呢,不知道你去试过没有,不过这样又需要刷机,我想也许root还简单一些吧如果有什么新的进展,记得要和大家分享一下哟!
      

  4.   

    是的,用libusb可以做到,我已经测试成功了,虽然还不知道效率如何需要root设备,赋予APK管理员权限,并且修改 /dev/bus/usb/ 下的权限,我是直接 chmod 777 了
      

  5.   

    很久没来了,报告一下找到了不需要root 的方式,利用Android 的USBHOST API打开设备,用取得的文件描述符作为参数,用libusb打开设备,再访问就可以了
    当然权限要按照USBHOST 文档中的方式,还是要取得用户的同意,但至少不需要用户去root自己的设备了
      

  6.   

    能简单说一下用host api打开的设备符转换成什么类型 提供给libusb吗?
      

  7.   

    拼凑一下,先接收15K数据,记录位置,再从位置上继续接收,循环到结束~再画到paint上生成图片什么都得,可以么