Доступ к видео И фотографиям на Android 1.5 +

Таким образом, я пытаюсь позволить пользователю выбирать конкретную часть медиа с моим Приложением Android с помощью метода, описанного здесь: изображения Доступа из приложения Изображений в моем приложении для Android

Это работает отлично, за исключением того, что я могу на вид только выбрать или между Видео или между фотографией для представления пользователя с, не оба одновременно. Есть ли хороший способ сделать это с:

startActivityForResult (новое Намерение (Намерение. ACTION_PICK, android.provider. MediaStore. Изображения. Медиа. INTERNAL_CONTENT_URI), SELECT_IMAGE);

Спасибо!

10
задан Community 23 May 2017 в 12:19
поделиться

2 ответа

Я использовал это несколько раз. Лучший способ - это что-то вроде:

Intent mediaChooser = new Intent(Intent.ACTION_GET_CONTENT);
//comma-separated MIME types
mediaChooser.setType("video/*, images/*");
startActivityForResult(mediaChooser, 1);

Даже если это не совсем точное, он работал нормально во всем, в чем он использовал его. Он откроет активность галереи в эскизе с помощью миниатюрного списка каждой картины / видео в галерее пользователя. Возвращенное намерение оноптативностьResult () имеет дополнительные «данные», которые будут содержанием: // URI к выбранному носителю.

Отредактируйте: упс, чтобы получить URI выбранным носителем, вы фактически хотите вызвать getData () на намерениях, который передается на оноцитностьResult ()

17
ответ дан 3 December 2019 в 18:33
поделиться

Kivy - Самый простой способ - это создать намерение выбрать кусок медиа и ограничить его видео:

Intent pickMedia = new Intent(Intent.ACTION_GET_CONTENT);
pickMedia.setType("video/*");
startActivityForResult(pickMedia,12345);

Примечание - 12345 - это целое число, которое ваше приложение должно прослушать в обратном вызове запроса, чтобы вы могли отправить любую полученную информацию куда вам нужно.

Затем вам нужно, чтобы та же самая активность слушала информацию, которая будет отправлена обратно от этого намерения:

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 12345) {
            if (resultCode == Activity.RESULT_OK) {
                Uri selectedVideoLocation = data.getData();

                // Do something with the data...
            } 

        }
    }

Круто?

2
ответ дан 3 December 2019 в 18:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: