我正试图在我的设备上打开一个正面相机,但我没有尝试任何工作,后置摄像头总是打开。我正在使用LG G4设备。
File file;
try {
File dir = new File(Environment.getExternalStorageDirectory());
file = File.createTempFile("temp.png", dir);
} catch (IOException e) {
AndroidExceptionHandler.handle(e);
}
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
cameraIntent.putExtra("android.intent.extras.CAMERA_FACING", 1);
startActivityForResult(cameraIntent, REGISTRO_PONTO_IMAGE_CAM);
我做错了什么?
答案 0 :(得分:1)
您假设所有设备上的所有相机应用都会尊重未经证实的,不受支持的Intent
额外内容。
有大约20亿台Android设备,由数千种设备型号组成。这些设备型号将附带数百种不同的相机应用程序。用户还可以自行安装相机应用程序。这些数百个相机应用程序中的任何一个都可以处理您的ACTION_IMAGE_CAPTURE
请求。并且他们都不必尊重android.intent.extras.CAMERA_FACING
额外的。
欢迎您将额外的内容放在Intent
上,并且有可能会有相机应用程序注意它。您不应该假设任何相机都会注意它,并且由用户选择用于拍摄照片的相机。