android 手机拍照返回 Intent==null 以及intent.getData==null
手机拍照第一种情况;
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");得到图片
}
}