Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
String path = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "test_2016_7_26";
File file = new File(path);
if(!file.exists()) {
file.mkdir();
}
path += File.separator + "test123.jpg";
//Uri uri = Uri.fromFile(new File(path));
//System.out.println("================>" + uri.toString());
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.parse(path));
startActivityForResult(intent, 0);
因为工作需要,需要调用相机拍照,将拍完的照片保存到指定路径用于上传。
但是,拍完后无法返回,上网查原因说是指定的保存路径错误,但检查过,路径是正确的。后来和自己之前写的代码对照发现只有Uri的创建实例方式不同,虽然intent.putExtra接受的确是是Uri但是Uri.parseString和Uri.fromFile是有区别的,因为在fromFile的Uri中,路径头自动加了file:标识,而相机需要识别为本地路径所以只能用fromFile传入Uri.