您的位置:首页 > 移动开发 > Android开发

android 手机拍照返回 Intent==null 以及intent.getData==null

2016-07-02 19:24 435 查看
手机拍照第一种情况;
private void takePicture(){

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 values = new ContentValues();
values.put(Media.TITLE, filename);
photoUri =getActivity().getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
intent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);
startActivityForResult(intent, TAKE_PHOTO);

}

public void onActivityResult(int requestCode, int resultCode, Intent data) {

data 未空,注意data 是指Intent

原因:即指定了目标uri 如果指定了目标uri,data就没有数据,如果没有指定uri,则data就返回有数据!

可根据 photoUri全局变量获取URI;

}

手机拍照第二种情况;
private void takePicture(){

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, TAKE_PHOTO);

}

public void onActivityResult(int requestCode, int resultCode, Intent data) {

data 非空,注意data 是指Intent

Uri uri=Intent.getData();

发现依旧返回null;由于测试机无SD卡 ,原因不详,请知道的指教

解决方法:if(data.hasExtra("data")){

Bitmap bitMap = data.getParcelableExtra("data");得到图片

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: