调用系统图库选照片:
Intent intent = new Intent(Intent.ACTION_PICK); intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*"); listener.startActivityforResult(intent, requestCode, null);
调用系统相机:
private File tempFile; private String temppath; private Uri tempuri;
private File PHOTO_DIR = new File(Environment.getExternalStorageDirectory() + "/路径");
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);if(!PHOTO_DIR.exists()){//创建图片保存路径PHOTO_DIR.mkdirs();
} tempFile = new File(PHOTO_DIR, "fileName"); temppath = tempFile.getAbsolutePath(); tempuri = Uri.fromFile(tempFile); intent.putExtra(MediaStore.EXTRA_OUTPUT, tempuri); startActivityforResult(intent, requestCode, tempuri);
在onActivityResult(int requestCode, int resultCode, Intent data)方法中获取到选中的照片或者刚拍的照片
如果是从图库获取照片,data.getData()会返回图片的uri,
如果是拍照,tempuri就是刚刚拍的照片的uri。
附上图片路径path与uri的相互转换方法:
http://blog.youkuaiyun.com/bitian123/article/details/51393920