Доступ к видео и фотографиям на Android 1.5 +
Поэтому я пытаюсь позволить пользователю выбрать определенный кусок носителя с помощью моего приложения для Android, используя метод, описанный здесь: доступ к изображениям из приложения Pictures в моем приложении для android
Он отлично работает, за исключением того, что я, по-видимому, могу выбирать только между видео или фотографией, чтобы представить пользователю, а не то и другое одновременно. Есть ли хороший способ сделать это с помощью:
StartActivityForResult (new Намерение (Intent.ACTION_PICK, андроид.поставщик.Система хранения mediastore.Изображения.Средства массовой информации.INTERNAL_CONTENT_URI), SELECT_IMAGE);
Спасибо!
4 ответа:
Я использовал это несколько раз. Лучший способ-это что-то вроде:
Даже если это не совсем точно, он прекрасно работал во всем, в чем я его использовал. Он откроет галерею-ЭСК активности со списком миниатюр каждого изображения/видео в галерее пользователя. Возвращаемый intent toIntent mediaChooser = new Intent(Intent.ACTION_GET_CONTENT); //comma-separated MIME types mediaChooser.setType("video/*, images/*"); startActivityForResult(mediaChooser, 1);
onActivityResult()
имеет дополнительный элемент, называемый "DATA", который будет содержимым: / / URI для выбранного носителя.EDIT: oops, чтобы получить URI на выбранный носитель, который вы действительно хотите вызвать getData () о намерении, которое передается в onActivityResult ()
Kivy-самый простой способ-создать намерение выбрать часть медиа и ограничить его видео:
Примечание-12345-это целое число, которое ваше приложение должно прослушивать при обратном вызове запроса, чтобы вы могли отправлять любую информацию, которую вы получаете, куда вам нужно.Intent pickMedia = new Intent(Intent.ACTION_GET_CONTENT); pickMedia.setType("video/*"); startActivityForResult(pickMedia,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... } } }
Круто?