当使用以下代码为 Android api 21 使用 Intent 时,我设法让摄像头默认使用前置摄像头:
intent.putExtra(
"android.intent.extras.CAMERA_FACING",
Camera.CameraInfo.CAMERA_FACING_FRONT);
我想知道如何为上面的 android API 21 设置为正面。以上是行不通的。
当使用以下代码为 Android api 21 使用 Intent 时,我设法让摄像头默认使用前置摄像头:
intent.putExtra(
"android.intent.extras.CAMERA_FACING",
Camera.CameraInfo.CAMERA_FACING_FRONT);
我想知道如何为上面的 android API 21 设置为正面。以上是行不通的。
要将相机用于 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