Get image Uri in onActivityResult after taking photo?

后端 未结 4 727
逝去的感伤
逝去的感伤 2021-02-07 00:48

I have this code:

startActivityForResult(new Intent(MediaStore.ACTION_IMAGE_CAPTURE), CAMERA_IMAGE);

That allows that user to take a photo. Now

相关标签:
4条回答
  • 2021-02-07 01:13
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
        if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
    
              Bitmap photo = (Bitmap) data.getExtras().get("data");
              Uri fileUri = Utils.getUri(getActivity(), photo);
        }  
    }
    
    public String getRealPathFromURI (Uri contentUri) {
        String path = null;
        String[] proj = { MediaStore.MediaColumns.DATA };
        Cursor cursor = getActivity().getContentResolver().query(contentUri, proj, null, null, null);
        if (cursor.moveToFirst()) {
            int column_index = cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA);
            path = cursor.getString(column_index);
        }
        cursor.close();
        return path;
    }
    
    0 讨论(0)
  • 2021-02-07 01:19
    Uri uri = null;
    if(requestCode == GALLERY_INTENT && resultCode == RESULT_OK){
      uri = data.getData();
    }
    
    0 讨论(0)
  • 2021-02-07 01:20

    Instead of just launching the intent, also make sure to tell the intent where you want the photo.

    Uri uri = Uri.parse("file://somewhere_that_you_choose");
    Intent photoIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    photoIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
    startActivityForResult(photoIntent, CAMERA_IMAGE);
    

    Then when you get your onActivityResult() method called, if it was a success just open a stream to the URI and it should all be set.

    0 讨论(0)
  • 2021-02-07 01:21
    protected void onActivityResult(int requestCode, int resultCode, Intent intent){
        Uri u = intent.getData();
    }
    

    By the way... there's a bug with that intent in some devices. Take a look at this answer to know how to workaround it.

    0 讨论(0)
提交回复
热议问题