Есть ли стандартный способ вызова диалогового окна с возможностью выбора изображения с камеры или из галереи (например, из встроенной телефонной книги или Skype)?
Я посмотрел на это, но код открывает галерею, не предлагая выбрать ее с камеры.
Устройство: Samsung Galaxy Tab
Android: 2.3.3
Ответы:
Приведенный ниже код можно использовать для фотографирования и для выбора фотографии. Просто покажите диалог с двумя вариантами и после выбора используйте соответствующий код.
Чтобы сделать снимок с камеры:
Чтобы выбрать фотографию из галереи:
onActivityResult
код:Наконец, добавьте это разрешение в файл манифеста:
источник
Intent
в качестве запасного варианта вызывает SecurityException. Дополнительная информация: plus.google.com/+AndroidDevelopers/posts/e9kyM7VXajzЯ объединил несколько решений, чтобы создать полноценную утилиту для выбора изображения из галереи или камеры. Это особенности утилиты ImagePicker (также в библиотеке Github ):
Скриншот:
Изменить : вот фрагмент кода для объединения объединенного намерения для приложений галереи и камеры. Вы можете увидеть полный код в утилите ImagePicker (также в библиотеке Github ):
источник
boolean isCamera = (imageReturnedIntent == null || imageReturnedIntent.getData() == null);
getTempFile
и как пользоваться этой функцией? пожалуйста, обновите ответFileProvider
для API> = 23 иUri
меньше.Эта библиотека упрощает работу.
Просто позвони:
Затем сделайте свою Activity реализацией IPickResult и переопределите этот метод ниже.
источник
Вы можете реализовать этот код, чтобы выбрать изображение из галереи или камеры: -
Теперь при событии нажатия кнопки вы можете вызвать свой метод выбора изображения. Это внутри активности onCreate.
Вне вашей деятельности создается.
Атласт, наконец, добавьте камеру и напишите разрешение на внешнее хранилище в AndroidManifest.xml
У меня это отлично работает, надеюсь, это сработает и для вас.
источник
Я думаю, это ваше дело, показать этот диалог для выбора. Для галереи вы будете использовать этот код, а для камеры попробуйте это .
источник
Если вы хотите получить изображение из галереи или захватить изображение и установить его для просмотра изображения в портретном режиме, следующий код поможет вам.
В onCreate ()
Надеюсь, что это поможет вам....!!!
Если targetSdkVersion больше 24, то для предоставления доступа используется FileProvider.
Создайте XML-файл (путь: res \ xml) provider_paths.xml
Добавить поставщика в AndroidManifest.xml
и заменить
к
источник