从网络保存图像时出现问题。
我创建新文件夹并将所有图像保存到此。问题是我希望这个文件夹首先按最后一个下载图像排序,但是当我打开图库时,该文件夹按创建的图像日期排序,下载图像中创建的日期不是我下载的时间,而是它第一次创建的时间. 我已经在 stack over flow 上进行了搜索,发现 java 无法将图像中创建的日期修改为我下载它的时间。
任何人有解决方案?(抱歉英语不好)
谢谢你的评论。我将解释更多细节。
首先,我从网上下载图片到缓存目录
HttpURLConnection localHttpURLConnection = (HttpURLConnection) new java.net.URL(urldisplay).openConnection();
localHttpURLConnection.setConnectTimeout(30000);
localHttpURLConnection.setReadTimeout(30000);
localHttpURLConnection.setInstanceFollowRedirects(true);
InputStream in = localHttpURLConnection.getInputStream();
File localFile = Constans.fileCache.getCacheFile(urldisplay);
FileOutputStream fos = new FileOutputStream(localFile);
Utils.CopyStream(in, fos); // simple copy by trunks
fos.close();
其次,我将下载的图像复制到外部存储
File toFile = new File(Environment.getExternalStorageDirectory() + "/folder", "folder_" + System.currentTimeMillis() + ".png");
FileOutputStream fos = new FileOutputStream(toFile);
Utils.CopyStream(new FileInputStream(fromFile), fos);
fos.close();
// Scan image to display when open with gallery otherwise it couldn't see in gallery
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri contentUri = Uri.fromFile(toFie);
mediaScanIntent.setData(contentUri);
mContext.sendBroadcast(mediaScanIntent);
最后,我看到那个画廊在我下载的时候没有对我的图像进行排序。这就是我要解决的问题。