如何强制用户使用前置摄像头?

时间:2018-07-09 09:56:20

标签: java android android-camera android-camera-intent

我正在开发一个使用相机的程序。我正在使用媒体存储从android相机获取原始素材。

我希望用户必须使用前置摄像头,或者默认情况下至少要打开前置摄像头。

Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);                      
cameraIntent.putExtra("android.intent.extras.CAMERA_FACING", 1);
startActivityForResult(cameraIntent, CAMERA_REQUEST);

我已经尝试过了,还有另一种调用方法:

Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);                    
cameraIntent.putExtra("android.intent.extras.CAMERA_FACING", 
android.hardware.Camera.CameraInfo.CAMERA_FACING_FRONT);                      
cameraIntent.putExtra("android.intent.extras.LENS_FACING_FRONT", 1);
cameraIntent.putExtra("android.intent.extra.USE_FRONT_CAMERA", true);
startActivityForResult(cameraIntent, CAMERA_REQUEST);

有什么想法为什么不起作用?我在华硕平板电脑上使用它。

谢谢!

2 个答案:

答案 0 :(得分:0)

尝试这样:

SELECT
COUNT(CASE WHEN answer = '1' THEN 1 END) AS yes,
COUNT(CASE WHEN answer= '0' THEN 1 END) AS no
FROM ANSWER

在AndroidManifest.xml文件中添加这些权限

int MEDIA_TYPE_IMAGE = 1;

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri photoUri = Uri.fromFile(getOutputPhotoFile(MEDIA_TYPE_IMAGE));
intent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);
intent.putExtra("android.intent.extras.CAMERA_FACING", 1);
startActivityForResult(intent, CAMERA_PHOTO_REQUEST_CODE);

答案 1 :(得分:0)

  

我希望用户必须使用前置摄像头,或者默认情况下至少要打开前置摄像头。

那么您应该直接或通过a wrapper library使用相机API。

  

有什么想法为什么不起作用?

您正在启动第三方相机应用程序。此类应用程序有数百种,既已预安装在设备上,也已由用户安装。无需任何相机应用程序即可满足随机Intent的附加功能,尤其是那些不属于Android SDK的附加功能。