android 保存网络图片到SD卡方法
public static boolean saveBitmap(String path, String name, Bitmap bitmap, Context context) {
boolean ret = true;
FileOutputStream fOut = null;
try {
File f = new File(path + File.separator + name);
f.deleteOnExit();
f.createNewFile();
fOut = new FileOutputStream(f);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, fOut);
<span style="color:#ff0000;">Intent scanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
scanIntent.setData(Uri.fromFile(f));
context.sendBroadcast(scanIntent);</span>
} catch (IOException e) {
ret = false;
Log.e("saveBitmap error ", e);
} finally {
if (fOut != null) {
try {
fOut.close();
} catch (IOException e) {
e.printStackTrace();
FansLog.v(e.toString());
}
}
}
return ret;
}
代码如上,其中红色部分为通知android系统扫描特定目录/文件。如果不加如该代码,手机图库不会感知到该图片,除非手机下次启动时自动扫描所有文件。