我想将从本机获得的文件描述符(int)转换为文件描述符(Java对象)
//native
int fd = open(......);
为什么示例 1 不起作用?也许理论上?
//eg 1:
FileDescriptor mFd = ParcelFileDescriptor.adoptFd(fd).getFileDescriptor();
//eg 2:
FileDescriptor mFd = new FileDescriptor()
Method setFd = FileDescriptor.class.getDeclaredMethod("setInt$", int.class);
setFd.setAccessible(true);
setFd.invoke(mFd, fd);
微软:</p>
将原始原生 fd 的所有权放入新的 ParcelFileDescriptor。
C#
[Android.Runtime.Register("adoptFd", "(I)Landroid/os/ParcelFileDescriptor;", "")]
公共静态 Android.OS.ParcelFileDescriptor?AdoptFd (int fd);
参数 fd Int32 ParcelFileDescriptor 应采用的本机 fd。
退货
包裹文件描述符
返回一个新的 ParcelFileDescriptor,其中包含给定 fd 的 FileDescriptor。
属性 RegisterAttribute