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

Posted 居后不争

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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");得到图片

}

 

 

}

以上是关于android 手机拍照返回 Intent==null 以及intent.getData==null的主要内容,如果未能解决你的问题,请参考以下文章

Android ACTION_IMAGE_CAPTURE Intent 在返回 onActivityResult 之前拍照时间歇性崩溃

Android Camera开发讲解

Android开发之获取相册照片和获取拍照照片

android camera intent 在某些手机上崩溃应用程序(约 20%)

关于android中调用系统拍照,返回图片是旋转90度

Android编程权威指南(第2版)--第16章 使用intent拍照 挑战练习