Изображение не поддерживается при использовании намерения для просмотра изображения в галерее - PullRequest
0 голосов
/ 06 января 2020

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

Вот код:

File fileStr = new File (Environment.getExternalStorageDirectory() + "/Storifier/test.jpg");
Uri uri = FileProvider.getUriForFile(this, this.getApplicationContext().getPackageName() + ".provider", fileStr);
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "image/jpg");
startActivity(intent);

Uri, который я получаю для файла:

content://com.purple.myapplication.provider/external_files/Storifier/test.jpg

Изображение хранится в папке Storifier в хранилище

Я новичок ie!

1 Ответ

1 голос
/ 06 января 2020

попробуйте этот код

Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, RESULT_LOAD_IMG);

добавьте это в свой результат деятельности

@Override
    protected void onActivityResult(int reqCode, int resultCode, Intent data) {
        super.onActivityResult(reqCode, resultCode, data);


        if (resultCode == RESULT_OK) {
            try {
                final Uri imageUri = data.getData();
                final InputStream imageStream = getContentResolver().openInputStream(imageUri);
                final Bitmap selectedImage = BitmapFactory.decodeStream(imageStream);
                image_view.setImageBitmap(selectedImage);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
                Toast.makeText(PostImage.this, "Something went wrong", Toast.LENGTH_LONG).show();
            }

        }else {
            Toast.makeText(PostImage.this, "You haven't picked Image",Toast.LENGTH_LONG).show();
        }
    }

и добавьте это в манифест. xml

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...