Я застрял с проблемой невозможности заставить пользователя открыть переднюю камеру по умолчанию.
Мне интересно, есть ли какой-нибудь полупрямый способ сделать это, будь то использование Camera2 API, Intent или даже стороннего API.
Я не хочу хранить фотографию на телефоне пользователя, поскольку я передаю ее в растровое изображение, а затем в 64-битную строку для удаленного хранения.
Кто-нибудь может дать совет?
@MarcosVasconcelos Я пробовал с дополнительным положением, но, похоже, это не имеет никакого значения, камера все равно будет запускаться с задней камерой.
Намерение cameraIntent = newIntent (MediaStore.ACTION_IMAGE_CAPTURE); cameraIntent.putExtra ("android.intent.extras.CAMERA_FACING", 1); startActivityForResult (cameraIntent, CAMERA_REQUEST);
Чтобы использовать Camera2 API, вам нужно прикрепить предварительный просмотр к SurfaceView, это намного больше работы, не знаю, как успешно сообщить (любое) приложение камеры, намеренное использовать переднюю камеру (поскольку это может быть проигнорировано приложениями третьей камеры)




Попробуй это :
mCamera = Camera.open(1); // for front camera
mCamera = Camera.open(0); // for Rear camera
И не забудьте добавить эти разрешения в свой манифест:
<uses-permission android:name = "android.permission.CAMERA" />
<uses-feature android:name = "android.hardware.camera" android:required = "false" />
<uses-feature android:name = "android.hardware.camera.front" android:required = "false" />
Я пробовал это, но он говорит мне, что API камеры избыточен. И когда я запускаю приложение, ничего не происходит.
В качестве альтернативы вы можете попробовать следующее: Намерение намерения = новое намерение (MediaStore.ACTION_IMAGE_CAPTURE); Uri photoUri = Uri.fromFile (getOutputPhotoFile ()); intent.putExtra (MediaStore.EXTRA_OUTPUT, photoUri); intent.putExtra ("android.intent.extras.CAMERA_FACING", 1); startActivityForResult (намерение, CAMERA_PHOTO_REQUEST_CODE);
Вы можете использовать ACTION_IMAGE_CAPTURE Intent для использования приложения камеры по умолчанию с помощью startActivityForResult ().
Или вы можете использовать эту библиотеку https://github.com/CameraKit/camerakit-android.
Или этот https://github.com/RedApparat/Fotoapparat.
Естественно, оригинальный Camera API (версия 1) также возможен.
cameraConfig.setCameraId (1) для Camera и Camera2 API по намерению для намерения это должно быть похоже на intent.putExtra ("android.intent.extras.CAMERA_FACING", 1), но намеренно пользователь может просто повернуть камеру в обратном направлении.