0

当使用以下代码为 Android api 21 使用 Intent 时,我设法让摄像头默认使用前置摄像头:

intent.putExtra(
    "android.intent.extras.CAMERA_FACING",
    Camera.CameraInfo.CAMERA_FACING_FRONT);

我想知道如何为上面的 android API 21 设置为正面。以上是行不通的。

4

1 回答 1

0

要将相机用于 api 21+(比如说 api 23 或 Android M),您需要使用最新的PermissionManager要求用户授予相机权限。没有摄像头权限,您无法访问摄像头。

以下是在 permissio 未授予时检查和请求相机权限的示例代码:

if (checkSelfPermission(Manifest.permission.CAMERA)
        != PackageManager.PERMISSION_GRANTED) {

    requestPermissions(new String[]{Manifest.permission.CAMERA},
            MY_REQUEST_CODE);
}

向用户请求权限对话框后,您可以检查onRequestPermissionResult调用活动的功能响应:

@Override
public void onRequestPermissionResult(int requestCode, String[] permissions, int[] grantResults) {
    if (requestCode == MY_REQUEST__CODE) {
        if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            // Now user should be able to use camera
        }
        else {
            // Your app will not have this permission. Turn off all functions 
            // that require this permission or it will force close like your 
            // original question
        }
    }
}

官方文档:http: //developer.android.com/training/permissions/index.html

于 2016-01-11T12:50:30.740 回答