我正在尝试拍照并通过调用以下代码获取文件路径:
Intent camera_intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(camera_intent, Static.TAKE_PICTURE);
然后:
case Static.TAKE_PICTURE:
if(resultCode == Activity.RESULT_OK){
if(data.getData() != null){
Uri selectedImage = data.getData();
String path = selectedImage.getPath();
if(path.contains("images/media")){
path = Static.getImageRealPathFromURI(getActivity().getBaseContext(),selectedImage);
}
}
}
break;
在4.1.2的Galaxy S3上运行正常,但在4.2.2的Nexus 10上每次都会崩溃,报错信息如下:
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=65642, result=-1, data=null} to activity {com.******.***/com.******.***.Main}: java.lang.NullPointerException
如果我尝试为视频做同样的操作:
Intent video_intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
startActivityForResult(video_intent, Static.RECORD_VIDEO);
正常工作。真的我不知道为什么。