问题描述
这很好用,我可以点击相机中的图像并用它更新我的图像视图 但我不知道这种方法是如何工作的。传递给 onActivityResult() 的东西是什么。
private void pickFromCamera() {
ContentValues values=new ContentValues();
values.put(MediaStore.Images.Media.TITLE,"Temp pic");
values.put(MediaStore.Images.Media.DESCRIPTION,"Temp Description");
image_uri=getActivity().getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,values);
Intent cameraIntent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);// intent to open camera
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,image_uri);//putting image uri into this
startActivityForResult(cameraIntent,IMAGE_PICK_CAMERA_CODE);
}
解决方法
当我们从当前活动开始另一个活动以获得它的结果时,我们调用方法 startActivityForResult(intent,RESPONSE_CODE);。它重定向到另一个活动,如打开相机、图库等。从图库或相机拍摄图像后,返回当前活动的第一个方法,该方法调用的是 onActivityResult(int requestCode,int resultCode,Intent data)。我们用这种方法得到的结果就像从相机或画廊拍摄的图像一样。