且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何通过NDK访问Android Lollipop DocumentFile文件?

更新时间:2023-11-25 16:03:28

您可以使用文件描述符:

You can use file descriptors:

ParcelFileDescriptor filePfd;
DocumentFile file;
filePfd = getContentResolver().openFileDescriptor(file.getUri(), "w");
int fd = filePfd.getFd();

此int fd可以传递给JNI并用作常规的C ++文件描述符:

This int fd can be passed to JNI and used as usual C++ file descriptor:

FILE* file = NULL;
file = fdopen(fd, "r+b");

您需要访问SD卡上文件或目录的权限

And you need permission to access to file or directory on SD-card