调用系统相机拍照
时间: 2023-08-03 16:04:54 浏览: 44
你可以使用Android的Camera API来调用系统相机拍照。以下是一个简单的示例代码:
```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");
// 使用拍摄的照片进行后续处理
}
}
```
在上面的代码中,我们首先创建一个`Intent`对象,其中指定了相机应用程序的操作`MediaStore.ACTION_IMAGE_CAPTURE`。我们还检查设备是否有相机应用程序,并使用`startActivityForResult()`方法启动相机应用程序。在用户拍摄照片后,我们将在`onActivityResult()`方法中收到结果,其中包含了拍摄的照片。我们可以使用这个照片进行后续处理。
请注意,相机应用程序可能会返回高分辨率的图像,这可能会导致内存不足或性能问题。为了避免这些问题,您可以使用`MediaStore.EXTRA_OUTPUT`参数来指定保存照片的文件路径,然后在`onActivityResult()`方法中读取该文件。