调用系统相机
调用系统相机很简单,只需要一个intent就可以跳转到相几界面,然后再通过onActivityResult来取得图片即可。
Intent openCameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); // 系统常量, 启动相机的关键
startActivityForResult(openCameraIntent, REQUEST_CODE_TAKE_PICTURE); // 参数常量为自定义的request code, 在取返回结果时有用
获取图片
重写onActivityResult方法,获取request_code.
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
switch (requestCode) {
case REQUEST_CODE_TAKE_PICTURE:
// 此处写“如何获取图片”...
break;
}
}
如何获取图片
不指定存储目录
从上边可以知道打开相机的 Intent Action: MediaStore.ACTION_IMAGE_CAPTURE
,该Action会打开照相机拍照然后返回结果。
如果在没有设置额外的控制图片存储路径的参数MediaStore.EXTRA_OUTPUT
情况下,返回的结果将是一个小的B