我遇到了一个奇怪的问题,就是发送一个意向到手机相机来拍照。在我的手机上,xaomi 8运行良好,但当我在三星a51上安装应用程序时,intent会打开前置摄像头,而不是后置摄像头。我们的目标是在所有类型的手机上都能打开后置摄像头。这是我的代码
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
if (cameraIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(cameraIntent, ApplicationConst.CodiceIntentConst.REQUEST_CAMERA_CODE);
}我该怎么解决它呢?提前谢谢你
发布于 2021-08-02 18:13:49
以下代码适用于Samsung A51和Pixel 2XL
fun updateIntentForCameraFacing(cameraIntent: Intent, frontFacing: Boolean){
if(Build.VERSION.SDK_INT < Build.VERSION_CODES.O){
if(frontFacing)
cameraIntent.putExtra("android.intent.extras.CAMERA_FACING", CameraCharacteristics.LENS_FACING_BACK)
else
cameraIntent.putExtra("android.intent.extras.CAMERA_FACING", CameraCharacteristics.LENS_FACING_FRONT)
}
else if(frontFacing){
cameraIntent.putExtra("android.intent.extras.CAMERA_FACING", CameraCharacteristics.LENS_FACING_BACK)
cameraIntent.putExtra("android.intent.extra.USE_FRONT_CAMERA", true)
//samsung
cameraIntent.putExtra("camerafacing", "front")
cameraIntent.putExtra("previous_mode", "front")
}
else{
cameraIntent.putExtra("android.intent.extras.CAMERA_FACING", CameraCharacteristics.LENS_FACING_FRONT)
cameraIntent.putExtra("android.intent.extra.USE_FRONT_CAMERA", false)
//samsung
cameraIntent.putExtra("camerafacing", "rear")
cameraIntent.putExtra("previous_mode", "rear")
}
}发布于 2020-10-08 21:30:49
您可以尝试以下代码来启动camera intent:
MediaStore.ACTION_IMAGE_CAPTURE_SECUREhttps://stackoverflow.com/questions/64263476
复制相似问题