首页 > 解决方案 > 我是开发android应用程序的新手,我只想知道这种方法如何工作

问题描述

这工作得很好,我可以单击相机中的图像并用它更新我的图像视图,但我不知道这种方法是如何工作的。什么东西被传递给 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);

    }

标签: android-studioandroid-camera-intentonactivityresultandroid-intentservicestartactivityforresult

解决方案


当我们从当前活动启动另一个活动以获取它的结果时,我们调用方法 startActivityForResult(intent, RESPONSE_CODE);。它重定向到另一个活动,如打开相机、画廊等。从画廊或相机拍摄图像后,返回当前活动,第一个调用方法是 onActivityResult(int requestCode, int resultCode, Intent data)。我们通过这种方法得到结果,就像从相机或图库中获取的图像一样。


推荐阅读