Try использовать больше разрешение функции таким образом:
<!--Front camera-->
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.front" android:required="false" />
IMO, используя переднюю камеру с Намерение не очень хорошо документировано также не работает в большинстве устройств.
Вы можете использовать класс предварительного просмотра камеры, определенный как SurfaceView
, который может отображать текущие данные изображения, поступающие с камеры, чтобы пользователи могли кадрировать и захватывать изображение или видео. Класс реализует SurfaceHolder.Callback
, чтобы зафиксировать обратный вызов событий для создания и уничтожения представления, которое необходимо для назначения ввода предварительного просмотра камеры.
private Camera openFrontCamera() {
int cameraCount = 0;
Camera cam = null;
Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
cameraCount = Camera.getNumberOfCameras();
for (int camIdx = 0; camIdx < cameraCount; camIdx++) {
Camera.getCameraInfo(camIdx, cameraInfo);
if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
try {
cam = Camera.open(camIdx);
} catch (RuntimeException e) {
// Log.e(TAG, "Failed to open: " + e.getLocalizedMessage());
}
}
}
return cam;
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
//Creates a Camera object to access a particular hardware camera.
// and throw a RuntimeException if camera is opened by other applications
mCamera =openFrontCamera();
try {
mCamera.setPreviewDisplay(surfaceView.getHolder());
} catch (Exception e) {
e.printStackTrace();
}
есть вы пытаетесь changine 'callCameraApplicationIntent.putExtra ("android.intent.extras.CAMERA_FACING", 1) 'к«callCameraApplicationIntent.putExtra ("android.intent.extras.CAMERA_FACING", 0) ', у большинства камер есть значение Int, я думаю, что' 1' ссылается на переднюю камеру, меняя ее на '0', можно переключиться на обратную камеру –
@MuyideIbukun не работает – byteC0de
ой, то не уверен, в чем проблема теперь, код кажется правильным –