Вопрос

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

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

startActivityForResult (новое намерение (intent.action_pick, android.provider.mediastore.images.media.internal_content_uri), select_image);

Спасибо!

Это было полезно?

Решение

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

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

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

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

Другие советы

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...
            } 

        }
    }

Прохладный?

intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 1);

Попробуй это

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
startActivityForResult(intent, 101);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top