private void openCamera() {
Intent intent = new Intent();
// 指定开启系统相机的Action
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
intent.addCategory(Intent.CATEGORY_DEFAULT);
// 根据文件地址创建文件
mFile = new File(PATH);
if (mFile.exists()) {
mFile.delete();
}
// 把文件地址转换成Uri格式
Uri uri = Uri.fromFile(mFile);
// 设置系统相机拍摄照片完成后图片文件的存放地址
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
startActivityForResult(intent, 0);
}
不指定路径的打开方式:
intent = new Intent();
// 指定开启系统相机的Action
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
intent.addCategory(Intent.CATEGORY_DEFAULT);
startActivityForResult(intent, 1);
打开相机拍摄完毕后 在onActivityResult() 方法中执行你想要的代码,可以到保存图片的路径去拿图片,如果没有指定路径的话可以去默认路径去获取图片,默认的话可以直接使用intent中的
data.getData()获取到图片
出处:http://www.cnblogs.com/plokmju/p/Android_SystemCamera.html#userSysCamera