Android 原生代码调用相机

整体流程

下面是实现 Android 原生代码调用相机的整体流程:

步骤 动作
1 检查相机权限是否被授权
2 创建相机意图
3 启动相机意图
4 处理相机意图的结果
5 获取相机拍摄的照片

步骤详解

步骤1:检查相机权限是否被授权

在调用相机之前,需要检查应用是否被授权使用相机权限。可以使用以下代码检查相机权限:

// 检查相机权限
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
    // 请求相机权限
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, CAMERA_PERMISSION_REQUEST);
} else {
    // 相机权限已授权,继续下一步操作
    ...
}

步骤2:创建相机意图

在调用相机之前,需要创建一个相机意图。可以使用以下代码创建相机意图:

// 创建相机意图
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// 指定照片保存路径
Uri photoUri = Uri.fromFile(new File(getExternalCacheDir(), "photo.jpg"));
intent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);

步骤3:启动相机意图

创建相机意图后,需要启动相机。可以使用以下代码启动相机意图:

// 启动相机
startActivityForResult(intent, CAMERA_REQUEST);

步骤4:处理相机意图的结果

在相机意图完成后,需要处理相机意图的结果。可以使用以下代码处理相机意图的结果:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    
    if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
        // 相机意图执行成功,处理照片
        Uri photoUri = Uri.fromFile(new File(getExternalCacheDir(), "photo.jpg"));
        // 处理照片
        ...
    }
}

步骤5:获取相机拍摄的照片

在处理相机意图的结果中,可以通过相机拍摄的照片路径获取照片。可以使用以下代码获取相机拍摄的照片:

// 获取相机拍摄的照片
Bitmap photo = BitmapFactory.decodeFile(photoUri.getPath());
// 使用照片
...

关系图

下面是 Android 原生代码调用相机的关系图:

erDiagram
    相机权限 } }--|{ 相机意图
    相机意图 } }--|{ 相机启动
    相机意图 } }--|{ 相机结果处理
    相机结果处理 } }--|{ 获取照片

旅行图

下面是 Android 原生代码调用相机的旅行图:

journey
    开始 --> 检查相机权限
    检查相机权限 --> 创建相机意图
    创建相机意图 --> 启动相机意图
    启动相机意图 --> 处理相机意图的结果
    处理相机意图的结果 --> 获取相机拍摄的照片
    获取相机拍摄的照片 --> 结束

以上是 Android 原生代码调用相机的实现步骤和相关代码。通过按照这些步骤,你可以实现在 Android 应用中调用相机并获取拍摄的照片。希望对你有帮助!