在java API中,ijParcelFileDescriptor始终为空

在java API中,ijParcelFileDescriptor始终为空,java,android,google-project-tango,Java,Android,Google Project Tango,在onXyzIjAvailable(TangoXyzIjData xyzIj)中,我可以访问xyz,但不能访问ij数据。为什么它总是空的?或者,在java层中公开这些内容只是时间问题 if (xyzIj.ijParcelFileDescriptor != null) { try { final byte[] ijBuffer = new byte[xyzIj.ijRows * xyzIj.ijCols * 4]; FileInput

在onXyzIjAvailable(TangoXyzIjData xyzIj)中,我可以访问xyz,但不能访问ij数据。为什么它总是空的?或者,在java层中公开这些内容只是时间问题

if (xyzIj.ijParcelFileDescriptor != null) {
    try {
        final byte[] ijBuffer
            = new byte[xyzIj.ijRows * xyzIj.ijCols * 4];
        FileInputStream ijFileStream 
            = new FileInputStream(xyzIj.ijParcelFileDescriptor.getFileDescriptor());

        ijFileStream.read(ijBuffer);
        ijFileStream.close();

    } catch (IOException io) {
        io.printStackTrace();
    }
}

在使用C API时,它也会被置空。SDK显示此功能不可用(在阿基米德版本的已知问题下):

if (xyzIj.ijParcelFileDescriptor != null) {
    try {
        final byte[] ijBuffer
            = new byte[xyzIj.ijRows * xyzIj.ijCols * 4];
        FileInputStream ijFileStream 
            = new FileInputStream(xyzIj.ijParcelFileDescriptor.getFileDescriptor());

        ijFileStream.read(ijBuffer);
        ijFileStream.close();

    } catch (IOException io) {
        io.printStackTrace();
    }
}
XYZij结构的IJ缓冲区正在开发中,尚未完成 通过API填充

if (xyzIj.ijParcelFileDescriptor != null) {
    try {
        final byte[] ijBuffer
            = new byte[xyzIj.ijRows * xyzIj.ijCols * 4];
        FileInputStream ijFileStream 
            = new FileInputStream(xyzIj.ijParcelFileDescriptor.getFileDescriptor());

        ijFileStream.read(ijBuffer);
        ijFileStream.close();

    } catch (IOException io) {
        io.printStackTrace();
    }
}
我认为我们可以假设,如果这一点发生了变化,它将在后续发行说明中声明。如果文档中提到这一点,当然会很好,因为对于同样未实现的应用程序也是如此

if (xyzIj.ijParcelFileDescriptor != null) {
    try {
        final byte[] ijBuffer
            = new byte[xyzIj.ijRows * xyzIj.ijCols * 4];
        FileInputStream ijFileStream 
            = new FileInputStream(xyzIj.ijParcelFileDescriptor.getFileDescriptor());

        ijFileStream.read(ijBuffer);
        ijFileStream.close();

    } catch (IOException io) {
        io.printStackTrace();
    }
}
该页面还记录了对该功能缺乏支持的情况

if (xyzIj.ijParcelFileDescriptor != null) {
    try {
        final byte[] ijBuffer
            = new byte[xyzIj.ijRows * xyzIj.ijCols * 4];
        FileInputStream ijFileStream 
            = new FileInputStream(xyzIj.ijParcelFileDescriptor.getFileDescriptor());

        ijFileStream.read(ijBuffer);
        ijFileStream.close();

    } catch (IOException io) {
        io.printStackTrace();
    }
}