android调用系统相机
时间: 2023-10-13 15:05:01 浏览: 56
在 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");
// 在这里处理拍照后的图片
}
}
```
在 `dispatchTakePictureIntent()` 方法中,我们创建了一个 `MediaStore.ACTION_IMAGE_CAPTURE` 的 Intent,并检查设备是否有相机应用程序可以响应它。如果有,我们就调用 `startActivityForResult()` 方法来启动相机应用程序。
在 `onActivityResult()` 方法中,我们检查请求的代码是否为 `REQUEST_IMAGE_CAPTURE`,结果代码是否为 `RESULT_OK`。如果是,我们从返回的 Intent 中获取拍照后的图片。在这个例子中,我们只是将图片转换为 Bitmap 并在控制台输出。你可以根据自己的需求进行更改。