CameraX 调用系统相机
时间: 2023-09-08 10:16:44 浏览: 83
CameraX 是 Android Jetpack 中的相机库,可以简化 Android 相机的开发。如果要调用系统相机,可以使用 `Intent` 来启动系统相机应用。以下是一个示例代码:
```java
private static final int REQUEST_IMAGE_CAPTURE = 1;
private void dispatchTakePictureIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
// Do something with the imageBitmap
}
}
```
在上面的代码中,我们使用 `MediaStore.ACTION_IMAGE_CAPTURE` 来创建一个启动系统相机应用的 `Intent`。如果有可用的相机应用,我们就使用 `startActivityForResult` 方法来启动这个 `Intent`。当拍摄完成后,系统会将拍摄的图片以 Bitmap 的形式返回到 `onActivityResult` 方法中。你可以在这个方法中对图片进行处理,比如展示在 ImageView 中或者保存到本地存储中。
阅读全文