如何在Native JNI Code中访问Android KitKat / Lollipop中DocumentFile生成的文件,这样我就可以使用fopen,fread等。 我特别要求它通过NDK访问外部SD卡文件。
答案 0 :(得分:9)
您可以使用文件描述符:
ParcelFileDescriptor filePfd;
DocumentFile file;
filePfd = getContentResolver().openFileDescriptor(file.getUri(), "w");
int fd = filePfd.getFd();
这个int fd
可以传递给JNI并用作通常的C ++文件描述符:
FILE* file = NULL;
file = fdopen(fd, "r+b");
您需要获得访问SD卡上文件或目录的权限