Чтобы использовать встроенные приложения камеры в вашем телефоне вам нужны несколько вещей First:
- Устройство должно иметь камеру
- Ваше приложение должно иметь разрешение сфотографировать
- Ваше приложение должно иметь разрешение, чтобы сохранить изображение (если вы намерены)
Заботиться вышеперечисленное вам нужно будет добавить следующий код в ваш файл манифеста для получения разрешения на использование камеры для съемки и, если основной функции вашего приложения требуется устройство, чтобы иметь камеру
<uses-feature android:name="android.hardware.camera" android:required="true" />
Вам также нужно добавить в файл манифеста разрешения файла для записи/сохранения изображения, если это разрешение также позволяет вашему приложению иметь разрешение на чтение (этот экзамен не PLE не требуется)
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Наконец помните, что вы просите Android, чтобы сделать работу для вас, следовательно, он будет возвращать результат для вас, который есть образ для этого нужно будет использовать startActivityForResult и передать код или думать о нем, как это идентификатор ID, что и ваше приложение и Android будет использовать сказать, 123 может быть любым целым числом, пока его не использовали в своей деятельности для любых других целей, чем для этой цели, принимая картину:
переменной Член
static final int REQUEST_TAKE_PHOTO = 123;
private void takePicture() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takePictureIntent, REQUEST_TAKE_PHOTO);
}
Добавьте это к кнопке или к изображению, но тон, так что одним щелчком будет вызываться метод takePicture
Заключительный шаг - это помнить, что будут отображаться данные изображения или результата, которые Android вернет, вам нужно будет принять и, как указано выше, код идентификатора REQUEST_TAKE_PHOTO = 123/requestCode.Существует метод, который вам нужно будет переопределить
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
// Sample data cast to thumbnail
Bitmap imageBitmap = (Bitmap) extras.get("data");
// Do whatever you want with the thumbnail such as setting it to image view
mImageView.setImageBitmap(imageBitmap);
}
}
Source: Android Take Photos
1. AFAIK каждый андроид устройство есть камера. 2. Никакого разрешения или функции, необходимой для открытия приложения камеры с использованием намерения. –
@KetanAhir Привет, я думаю, вы пропустили ссылку «Источник», прикрепленную внизу. 1. «У любого устройства Android есть камера», не совсем так, Android - это ОС, и ОС используется практически во всех случаях: от телефонов, автомобилей, телевизоров, телевизионных коробок (онлайн-чанов) до индивидуальных карманных планшетов и т. Д. Предполагается, что вы сделали сделайте сборку для Android Phone и планшета, мы все-таки вернемся к «не совсем правдой». Существуют определенные устройства без камер, но есть доступ к игровому магазину, как объяснялось выше, поскольку простой Google Search «Android-камера без камеры» покажет вам мою мысль. –
@KetanAhir «Нет разрешения или функции, необходимые для открытия приложения камеры с использованием намерения», так как Android справится с этим, исходный вопрос был «открыть камеру по умолчанию» обратно в мою первую точку, проверяя камеру в первую очередь. Лучшая и рекомендуемая практика при создании приложений для Android «если главная функция вашего приложения потребовала, чтобы устройство имело камеру», вам нужно добавить это разрешение, так как в магазине Google Play будет отображаться ваше приложение на устройствах, на которых есть камера. Хорошие старые методы программирования на Android :) –