Подтвердить что ты не робот

Как получить доступ к файлам Lollipop для файлов Android через NDK?

Как можно получить доступ к файлам, созданным с помощью DocumentFile в Android KitKat/Lollipop в Native JNI Code, поэтому я могу использовать fopen, fread, и т.п. Я особенно прошу это получить доступ к внешним файлам SD-карты через NDK.

4b9b3361

Ответ 1

Вы можете использовать дескрипторы файлов:

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

Этот int fd может быть передан JNI и использован как обычный дескриптор файла С++:

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

И вам нужно разрешение на доступ к файлу или каталогу на SD-карте