O data.getData () do Android retorna nulo de CameraActivity para alguns telefones

Ocorreu um erro fatal no meu onActivityResult ao retornar de uma atividade da câmera. O que me fez coçar a cabeça é que o erro está acontecendo apenas em alguns telefones (com base no número de usuários afetados), enquanto parece que não há nada errado para a maioria. Posso duplicar o erro no meu Nexus 6 (executando o Lollipop 5.1.1) enquanto a minha nota 5 (também 5.1.1) não apresenta problemas.

O problema é quando estou tentando atribuir o imageUri a partir de data.getData (). Depurando na Nota 5, data.mData é igual a "conteúdo: // media / external / images / media / 2215" enquanto no Nexus 6, data.mData é nulo.

Sei que essa é uma pergunta comum feita no SO, mas não encontrei nada que me ajudou até agora. Alguém pode me indicar a solução para isso e fornecer uma resposta?

Método Iniciando a atividade da câmera para obter resultado

@OnClick(R.id.change_image_camera) public void takePicture(){
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);}

onActvityResult

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (resultCode == Activity.RESULT_OK) {

        Uri imageUri = data.getData(); //The trouble is here

        String realPath = Image.getPath(this, imageUri); //getPath crashes because imageUri is null

        Image.compressImage(realPath);

        File file = new File(realPath);

        Bundle extra = new Bundle();
        extra.putString("URL", realPath);
        returnIntent.putExtras(extra);

        setResult(RESULT_OK, returnIntent);
        finish();
    }
}

Agradeço imensamente qualquer ajuda neste!

questionAnswers(1)

yourAnswerToTheQuestion