Permission denied при открытии файла при compileSDK 29

Моя программа читает кучу бинарных данных из файла, лежащего во внешнем хранилище. Давно с ней работаю все было ок, но когда попытался сменить compileSDK до 29 попытки открыть файл через FileIputStream выкидывают ошибку Permission denied. Лезем в гугл, видим, что доступ к файлам напряму с 29 sdk закрывается и все операции с файлами надо проводить через ContentResolver. Окей, заменяем

FileInputStream fis = new FileInputStream(mFile); 

На

ParcelFileDescriptor parcelFileDescriptor = getContext().getContentResolver().openFileDescriptor(Uri.fromFile(mFile), "r", null);
FileInputStream in = new FileInputStream (parcelFileDescriptor.getFileDescriptor());

Ничего не меняется, все еще Permission denied на openFileDescriptor Пробовал еще

InputStream fis = GlobalConfig.getContext().getContentResolver().openInputStream(Uri.fromFile(mFile));

Права запрошены и выданы, единственно с чем еще мог налажать это с uses-permission-sdk-23 и uses-permission в манифесте, так и не понял оба указать, по одному... Поэксперементировал, вроде ничего не дало.

Найти инфу о каких-то дополнительных телодвижениях не смог найти... Может кто-нибудь подсказать что я делаю не так/не сделал?


Ответы (0 шт):