Изображение загружается, но не отображается в галерее - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь загрузить изображение, используя PRDownloader .

Вот мой код:

int downloadId = PRDownloader.download(photo.getUrls().getFull(), mContext.getApplicationContext().getFilesDir().getPath() + "/Folder/", photo.getId())
                                .build()
                                .setOnStartOrResumeListener(new OnStartOrResumeListener() {
                                    @Override
                                    public void onStartOrResume() {
                                        Toast.makeText(mContext.getApplicationContext(), "Download started", Toast.LENGTH_SHORT).show();
                                    }
                                })
                                .setOnPauseListener(new OnPauseListener() {
                                    @Override
                                    public void onPause() {
                                        Toast.makeText(mContext.getApplicationContext(), "Download paused", Toast.LENGTH_SHORT).show();
                                    }
                                })
                                .setOnCancelListener(new OnCancelListener() {
                                    @Override
                                    public void onCancel() {
                                        Toast.makeText(mContext.getApplicationContext(), "Download cancelled", Toast.LENGTH_SHORT).show();
                                    }
                                })
                                .setOnProgressListener(new OnProgressListener() {
                                    @Override
                                    public void onProgress(Progress progress) {
                                        mProgressDialog.show();
                                    }
                                })
                                .start(new OnDownloadListener() {
                                    @Override
                                    public void onDownloadComplete() {
                                        Toast.makeText(mContext.getApplicationContext(), "Image saved in gallery", Toast.LENGTH_SHORT).show();
                                        mProgressDialog.dismiss();
                                    }

                                    @Override
                                    public void onError(Error error) {
                                        Toast.makeText(mContext.getApplicationContext(), "Error downloading image", Toast.LENGTH_SHORT).show();
                                        mProgressDialog.dismiss();
                                    }
                                });

Этот тост: Toast.makeText(mContext.getApplicationContext(), "Image saved in gallery", Toast.LENGTH_SHORT).show(); выполняется, но загруженное изображение не отображается ни в галерее, ни где-либо на устройстве.

Что здесь не так?

Ответы [ 2 ]

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

Прежде всего, вам нужно дать разрешение в манифесте, а также запросить во время выполнения

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

После этого, когда ваш файл или изображение будут успешно загружены, отправьте широковещательную рассылку на мультимедийный сканер устройства:

mContext.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory())));

уведомит устройство о добавленных файлах.

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

Вы пытались изменить свой путь.Я думаю, это проблема твоего пути.Пожалуйста, попробуйте ниже путь к каталогу загрузки или любой другой путь, если хотите.(Я не знаю, что вы тестируете с эмулятором или реальным устройством, но вам следует попробовать и с реальным устройством)

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