我们实现相机的意图,它在micromax480p版本5.1工作得很好,但当我们在Nexus7版本6.1中使用的时候,相机是打开的,但我想打开一些时间前和一些时间回来,它可以根据我们的需要打开。
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
//intent.addCategory(Intent.CATEGORY_OPENABLE);
//intent.setAction(Intent.ACTION_GET_CONTENT);
if(camera == 1) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
//intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("android.intent.extras.CAMERA_FACING", android.hardware.Camera.CameraInfo.CAMERA_FACING_FRONT);
intent.putExtra("android.intent.extras.LENS_FACING_FRONT", 1);
intent.putExtra("android.intent.extra.USE_FRONT_CAMERA", true);
} else {
intent.putExtra("android.intent.extras.CAMERA_FACING", 1);
}
}
// start the image capture Intent
startActivityForResult(intent, requestCode);
我是这样使用的,但它默认是打开的,无论我们使用的是什么相机(前置和后置) previously.thanks。很抱歉,我的英语沟通能力很差。
发布于 2019-09-10 21:14:50
要打开back摄像头,请执行以下操作:
val cameraIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
startActivityForResult(cameraIntent, REQUEST_CODE_CAMERA)
要打开前置摄像头:-
val cameraIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
when {
Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1 && Build.VERSION.SDK_INT < Build.VERSION_CODES.O -> {
cameraIntent.putExtra("android.intent.extras.CAMERA_FACING", CameraCharacteristics.LENS_FACING_FRONT) // Tested on API 24 Android version 7.0(Samsung S6)
}
Build.VERSION.SDK_INT >= Build.VERSION_CODES.O -> {
cameraIntent.putExtra("android.intent.extras.CAMERA_FACING", CameraCharacteristics.LENS_FACING_FRONT) // Tested on API 27 Android version 8.0(Nexus 6P)
cameraIntent.putExtra("android.intent.extra.USE_FRONT_CAMERA", true)
}
else -> cameraIntent.putExtra("android.intent.extras.CAMERA_FACING", 1) // Tested API 21 Android version 5.0.1(Samsung S4)
}
startActivityForResult(cameraIntent, REQUEST_CODE_CAMERA)
我不能让它在API 28和更高版本上工作。此外,在某些设备中不能直接打开前置摄像头(取决于制造商)。
发布于 2017-05-08 15:21:12
尝试下面的代码
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
intent.putExtra("android.intent.extras.LENS_FACING_FRONT", 1);
} else {
intent.putExtra("android.intent.extras.CAMERA_FACING", 1);
}
发布于 2017-05-08 15:24:13
要调用前置摄像头,您可以使用:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra("android.intent.extras.CAMERA_FACING", 1);
要调用Back相机,您可以使用:
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
startActivity(intent);
需要在您的AndroidManifest.xml中设置摄像头的权限:
<uses-permission android:name="android.permission.CAMERA"> </uses-permission>
https://stackoverflow.com/questions/43841738
复制相似问题