在我的应用程序中,我想从服务器下载图像并将其存储到 SD卡
我写下面的代码,我可以下载并存储在SD卡上
但是将图像存储到SD卡后没有显示到图库中!
我的代码:
private void createDirectoryAndSaveFile(Bitmap imageToSave, String fileName) {
File direct = new File(Environment.getExternalStorageDirectory() + "/MyApp/Wallpaper");
if (!direct.exists()) {
File wallpaperDirectory = new File("/sdcard/MyApp/Wallpaper/");
wallpaperDirectory.mkdirs();
}
File file = new File(new File("/sdcard/MyApp/Wallpaper/"), fileName);
if (file.exists()) {
file.delete();
}
try {
FileOutputStream out = new FileOutputStream(file);
imageToSave.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.flush();
out.close();
showReturnMessage("Message","Successfully saved :) ",R.color.alertSuccess);
} catch (Exception e) {
e.printStackTrace();
}
}
怎么可能?
答案 0 :(得分:0)
每次保存图像时都需要刷新图库。保存后尝试调用此方法:
static public void notifyMediaScannerService(Context context, String path) {
MediaScannerConnection.scanFile(context,
new String[] { path }, null,
new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
Log.i("ExternalStorage", "Scanned " + path + ":");
Log.i("ExternalStorage", "-> uri=" + uri);
}
});
}