Я новичок в Android и пытаюсь получить Uri изображения, которое пользователь выбирает в папке загрузок. В настоящее время я могу открыть папку загрузок и выбрать изображение. Однако, когда я беру путь выбранного изображения, file.canRead () возвращает false.
Это разрешения, которые я предоставил для приложения
int permission = ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE);
int permission2 = ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE);
if (permission != PackageManager.PERMISSION_GRANTED && permission2 != PackageManager.PERMISSION_GRANTED ) {
ActivityCompat.requestPermissions(this, new String[] {Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
ActivityCompat.requestPermissions(this, new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
}
Здесь я я беру изображение, которое я выбрал из папки загрузки, а затем передал путь к новому файлу:
selectedImage = imageReturnedIntent.getData();
String path = getRealPathFromURI(getApplicationContext(), selectedImage);
File selPath = new File(path);
Boolean b5 = selPath.isFile();
Boolean b1 = selPath.canRead();
Boolean b2 = selPath.exists();
isFile () возвращает true
exist () возвращает true
canRead () возвращает false, и я не знаю почему, потому что я дал разрешения.