Отображение средства выбора медиафайлов только с теми медиафайлами, на которые пользователь дал разрешение.Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Отображение средства выбора медиафайлов только с теми медиафайлами, на которые пользователь дал разрешение.

Сообщение Anonymous »

Я хотел бы показать пользователю средство выбора мультимедиа с соответствующим медиафайлом, для которого пользователь дал разрешение.
Я показываю диалоговое окно разрешения, где пользователь может выбрать, какие изображения/видео он хочет предоставить приложению разрешение на использование. После этого должен появиться еще один инструмент выбора, чтобы пользователь мог выбрать один элемент мультимедиа из этого подмножества, позволяя приложению продолжить запланированное действие.
Моя проблема в том, что приложение < Strong>не показывать только те медиафайлы, на которые пользователь дал разрешение; Вместо этого он показывает ВСЕ медиафайлы на устройстве.
Здесь вы можете увидеть полный процесс со скриншотами.
Вот как Прошу разрешения СМИ:
private void requestPermissionsHelper() {

List permissions = new ArrayList();

permissions.add(Manifest.permission.READ_MEDIA_IMAGES);
permissions.add(Manifest.permission.READ_MEDIA_VIDEO);
permissions.add(Manifest.permission.RECORD_AUDIO);

requestPermissions(permissions.toArray(new String[permissions.size()]), PERMISSION_REQUEST_CODE);

}

И его обратный вызов, здесь нет ничего особенного:
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);

if (requestCode == PERMISSION_REQUEST_CODE) {
boolean valid = true;
for (int i = 0; i < grantResults.length; i++) {
int grantResult = grantResults;
valid = valid && grantResult == PackageManager.PERMISSION_GRANTED;
}

if (!valid) {
DialogHelper.showError(this, "You need to grant acces to media files in order to use this function.");
}
}
}

И вот как я пытаюсь показать только тот носитель, на который пользователь дал разрешение, НО ПОКАЗЫВАЕТ ВСЕ МЕДИА НА УСТРОЙСТВЕ:
Intent mediaPickerIntent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
mediaPickerIntent.setType("*/*");
mediaPickerIntent.addCategory(Intent.CATEGORY_OPENABLE);
mediaPickerIntent.putExtra(Intent.EXTRA_MIME_TYPES, new String[]{"image/*", "video/*"});
startActivityForResult(mediaPickerIntent, BROWSE_DEVICE_GALLERY_RC);


Подробнее здесь: https://stackoverflow.com/questions/792 ... mission-to
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»