java.lang.NullPointerException: попытка вызвать виртуальный метод 'android.net.Uri android.content.Intent.getData ()' для ссылки на пустой объект - PullRequest
0 голосов
/ 10 января 2019

Невозможно извлечь текст из изображения после захвата изображения через камеру. В logcat я получаю некоторые исключения (из CropImage.activity (data.getData ())). Ниже приведен logcat с некоторыми исключениями и Java-кодом.

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.net.Uri android.content.Intent.getData()' on a null object reference
        at com.example.nabil.textocr.MainActivity.onActivityResult(MainActivity.java:172)

Java-код для камеры

dialog.setItems(items, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                if (which==0){
                   if (!checkCameraPermission()){
                       requestCameraPermission();
                   }else {
                       pickCamera();
                   }
                }

 private void pickCamera() {
        ContentValues values=new ContentValues();
        values.put(MediaStore.Images.Media.TITLE,"NewPic");
        values.put(MediaStore.Images.Media.DESCRIPTION,"Image to text");
        image_uri=getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,values);
        Intent cameraintent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        cameraintent.putExtra(MediaStore.EXTRA_OUTPUT,image_uri);
        startActivityForResult(cameraintent,IMAGE_PICK_GALLERY_CODE);
    }

 @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        if (resultCode==RESULT_OK){
            if (requestCode==IMAGE_PICK_GALLERY_CODE){
                CropImage.activity(data.getData())
                        .setGuidelines(CropImageView.Guidelines.ON)
                        .start(this);

            }

1 Ответ

0 голосов
/ 11 января 2019

Приложение камеры Android по умолчанию возвращает ненулевое намерение только при передаче миниатюры в возвращенном Намерении. Если вы передадите EXTRA_OUTPUT с URI для записи, он вернет нулевое намерение, и изображение будет в URI, который вы передали в

для более подробной информации обратитесь к этой ссылке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...