我正在尝试使用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:Toast.makeText(mContext.getApplicationContext(), "Image saved in gallery", Toast.LENGTH_SHORT).show();
正在执行,但下载的图像未显示在图库中或设备的任何位置。
这是怎么了?
答案 0 :(得分:0)
您是否尝试过更改路径。我认为这是您的路线问题。请尝试在下载目录的路径下面,或根据需要尝试其他任何路径。 (我不知道您正在使用仿真器还是真实设备进行测试,但您也应该尝试使用真实设备)
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
答案 1 :(得分:0)
首先,您需要在清单中授予权限并在运行时询问
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
之后,当您成功下载文件或图像时,将广播发送到设备媒体扫描器:
mContext.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory())));
这将通知设备新添加的文件。