在Android中系统中,调用系统相机拍照并取得照片的文件做进一步的使用(裁剪、显示在View控件上、上传文件等)。
第一种情况:调用系统相机拍照保存在系统中并在onActvitiyResult()方法中,获取文件的Uri或Bitmap对象。
代码如下:
------------------------------------------------------------------------------------------------
// 调用系统相机拍照
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
//设置日期的转换格式
SimpleDateFormat timeStampFormat =new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss");
//设置文件名
String filename =timeStampFormat.format(new Date());
//使用ContentValues保存文件名
ContentValues values = newContentValues();
values.put(MediaStore.Images.Media.TITLE, filename);
//使用内容提供者,定义照片保存的Uri
photoUri =getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,values);
intent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);
startActivityForResult(intent, CAMREA_REQUEST_CODE);
-------------------------------------------------------------------------------------------------
onActivityResult()方法中获取数据
-------------------------------------------------------------------------------------------------
//请求码等于相机的请求码,执行相应的操作
if (requestCode== CAMREA_REQUEST_CODE && requestcode ==RESULT_OK) {
//判断返回的数据data是否为空,在三星s5、华为p7等机型上面有data为空的现象
if (data != null &&data.getData() != null) {
uri = data.getData();
if(data.hasExtra("data")){