Android - попытка вызвать виртуальный метод 'java.lang.String android.net.Uri.getLastPathSegment ()' для ссылки на пустой объект - PullRequest
0 голосов
/ 23 сентября 2019

Я создаю приложение, чтобы нажимать на фотографии, а затем загружать их в хранилище Firebase, но я получаю это исключение nullpointer в своем коде.

Я тоже пробовал растровое изображение, но это не помогло, так как я все еще получаю ту же ошибку.Это мой код ниже метода onActivityResult:

@Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode==CAMERA_REQUEST_CODE&& resultCode==RESULT_OK){

            Uri uri=data.getData();
            StorageReference filepath =mStorage.child("Photos").child(uri.getLastPathSegment());

           filepath.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
                @Override
                public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                 Uri downloadUri = taskSnapshot.getUploadSessionUri();


                    Toast.makeText(MainActivity.this,"upload finished",Toast.LENGTH_LONG).show();
                }
            }).addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Toast.makeText(MainActivity.this, "Sending failed", Toast.LENGTH_SHORT).show();

                }
            });
        }
    }
}

Ошибка, которую я получаю:

Причина: java.lang.NullPointerException: Попытка вызвать виртуальныйметод 'java.lang.String android.net.Uri.getLastPathSegment ()' для ссылки на пустой объект

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