Путь к файлу для открытия файлов в активности для android 8 - PullRequest
1 голос
/ 26 апреля 2019

Я пытаюсь получить файл пути для показа в представлении рециркулятора, используя намерение для выбора файла и результат действия в ответ на это действие, поэтому мой код работает в Android 4> до 7 <и работает нормально для тех версий, но в 7> = есть проблема с этим кодом, особенно в Android 9.

public void openGallery() {
    try {
        Intent intent = new Intent();
        intent.setType("image/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);

        startActivityForResult(Intent.createChooser(intent, "Select file to upload "),
                SettingsUtil.ACTIVITY_GALLERY);
    } catch (Exception e) {
        e.printStackTrace();
    }
} 



@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == SettingsUtil.ACTIVITY_GALLERY && resultCode == RESULT_OK && null != data) {
        Uri selectedImage = data.getData();
        String[] filePathColumn = {MediaStore.Images.Media.DATA};

        Cursor cursor = getContentResolver()
                .query(selectedImage, filePathColumn, null, null, null);
        cursor.moveToFirst();

        int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
        String picturePath = cursor.getString(columnIndex);
        cursor.close();

        String code = year + "-" + reservation + "-" + (counter++);
         File auxFile = new File(picturePath);

    }
}

Я ожидаю String picturePath = cursor.getString (columnIndex); получить путь, как старые версии Android 4+ <7, но в этих новых версиях есть проблема при работе в последних версиях </p>

...