Android照相机(一):调用系统相机
调用系统相机
参考资料:Android–调用系统照相机拍照与摄像
使用Intent传入固定的Action,调起系统相机
- android.media.action.IMAGE_CAPTURE:Intent的Action类型,从现有的相机应用中请求一张图片
/**
* 调用系统相机
*/
@Override
public void invokeSystemCamera(String photoPath) {
//新建Intent,指定开启系统相机的Intent
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
//设置保存照片的路径
File file = new File(photoPath);
Uri uri = Uri.fromFile(file);
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
//发送Intent,打开系统相机
startActivityForResult(intent, 1);
}
在onActivityResult回调中接受拍照完成的回调
/**
* onActivityResult
*
* @param requestCode
* @param resultCode
* @param data
*/
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
/**
* 系统相机
*/
if (requestCode == Constant.REQUEST_CODE_SYSTEM_CAMERA) {
Toast.makeText(this, "系统相机拍照完成", Toast.LENGTH_SHORT).show();
//在这里可以做一些事情,展示图片什么的
mPresenter.systemCameraFinish();
}
}