我试图得到多少字节可用于读取一个aoa连接,但当我调用 available ()
方法 FileInputStream
我得到一个ioexception,消息是:“ioctl失败:einval(无效参数)”
注1:我使用jni从c++调用java方法
注2:如果,则不打电话 available()
我试着读的方法,效果很好
我做错什么了?在从aoa连接的套接字读取数据之前,是否有其他方法请求可用字节?
这是java代码:
public int testConnection () throws Exception {
UsbManager usbManager = (UsbManager) this.context.getSystemService(Context.USB_SERVICE);
final UsbAccessory[] accessoryList = usbManager.getAccessoryList();
if (accessoryList == null || accessoryList.length == 0) {
return -1;
} else {
UsbAccessory usb = accessoryList[0];
try {
ParcelFileDescriptor fileDescriptor = usbManager.openAccessory(usb);
if (fileDescriptor != null) {
FileDescriptor fd = fileDescriptor.getFileDescriptor();
FileInputStream inStream = new FileInputStream(fd);
inStream.available ();
} else {
return -2;
}
} catch (IOException e) {
return -3;
} catch (Exception e) {
return -4;
}
}
return 0;
}
暂无答案!
目前还没有任何答案,快来回答吧!