ContentResolver не содержит только что созданное изображение в немедленном запросе после создания файла

Я использую этот код для копирования изображения с помощьюdocumentFile.createFile()

private void newcopyFile(File fileInput, String outputParentPath,
                            String mimeType, String newFileName) {

        DocumentFile documentFileGoal = DocumentFile.fromTreeUri(this, treeUri);

        String[] parts = outputParentPath.split("\\/");
        for (int i = 3; i < parts.length; i++) {
            if (documentFileGoal != null) {
                documentFileGoal = documentFileGoal.findFile(parts[i]);
            }
        }
        if (documentFileGoal == null) {
            Toast.makeText(MainActivity.this, "Directory not found", Toast.LENGTH_SHORT).show();
            return;
        }

        DocumentFile documentFileNewFile = documentFileGoal.createFile(mimeType, newFileName);

        InputStream inputStream = null;
        OutputStream outputStream = null;
        try {
            outputStream = getContentResolver().openOutputStream(documentFileNewFile.getUri());
            inputStream = new FileInputStream(fileInput);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        try {
            if (outputStream != null) {
                byte[] buffer = new byte[1024];
                int read;
                if (inputStream != null) {
                    while ((read = inputStream.read(buffer)) != -1) {
                        outputStream.write(buffer, 0, read);
                    }
                }
                if (inputStream != null) {
                    inputStream.close();
                }
                inputStream = null;
                outputStream.flush();
                outputStream.close();
                outputStream = null;
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

И вот как я запрашиваюContentResolver после создания изображения немедленно обновить галерею изображений с результатом запроса, который должен содержать информацию о вновь созданном изображении.

cursorPhotos = MainActivity.this.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                    projectionsImages,
                    null,
                    null,
                    MediaStore.Images.Media.DATE_TAKEN + " DESC"
            );

Но немедленный запрос не смог найти вновь созданное изображение. И если я через некоторое время снова выполню запрос, в результате появится только что созданное изображение.

Кажется, что предоставление информации для вновь созданного изображения требует времени дляContentResolver(если за это отвечает ContentResolver), так как он будет работать в фоновом режиме, пока я выполняю немедленный запрос.

Есть ли способ или слушатель, чтобы знать, когда вновь созданное изображение зарегистрированоContentResolver?

Ответы на вопрос(2)

Ваш ответ на вопрос