Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT,
MediaStore.Images.Media.EXTERNAL_CONTENT_URI.toString());
intent.putExtra("android.intent.extras.CAMERA_FACING", 0);
// ******** code for crop image
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 0);
intent.putExtra("aspectY", 0);
intent.putExtra("outputX", 200);
intent.putExtra("outputY", 150);
try {
intent.putExtra("return-data", true);
startActivityForResult(intent, PICK_FROM_CAMERA);
} catch (ActivityNotFoundException e) {
// Do nothing for now
}
我用于打开相机的代码:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PICK_FROM_CAMERA) {
try {
Bundle extras = data.getExtras();
if (extras != null) {
photo = extras.getParcelable("data");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
这段用于位图返回数据的代码请告诉我如何在我打开相机时在 android 中设置相机总是后退而不是总是前面请给我建议解决方案。
最佳答案
您不能使用 ACTION_IMAGE_CAPTURE
强制使用特定相机。没有要求任何相机应用程序遵守您在该 Intent
上打包的许多未记录的额外内容。
如果您需要那种程度的控制,请直接使用相机 API(例如,android.hardware.Camera
)并编写您自己的相机代码。
关于android - 如何在android中强制设置后置摄像头并禁用前置摄像头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36742526/