Определить MIME-тип URI в Android, возвращенный намерением?

Сначала некоторый контекст того, чего я пытаюсь достичь -

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

Для этого я использую этот код -

    Intent photoPickerIntent = new Intent(Intent.ACTION_GET_CONTENT);
    photoPickerIntent.setType("image/*");
    startActivityForResult(photoPickerIntent, REQUEST_CODE_IMAGE_PICKER_INTENT);

Теперь это вызывает выбор, при котором я вижу несколько вариантов, в том числе Галерея и приложение FileManager, которые есть в моем телефоне. Если я выберу галерею и выберу изображение оттуда, тогда моя активность получит Намерение с содержимым Uri Изображения. Но если я выберу приложение FileManager, я могу выбрать любой файл, который может не быть изображением. Итак, мне нужно уметь определить тип mime ури, возвращенного в намерении. Намерение's метод getType возвращает ноль.

Есть ли способ определить MIME из возвращенного намерения, чтобы иметь возможность определить, является ли содержимое изображением или нет.

Если это нет работать таким образом, то мне, возможно, придется использовать MimeTypeMap, чтобы определить MIME из расширения файла.

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

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