发现Android开发每搞一个和系统扯上关系的功能都要磨死人,对新手真不友好。运气不好难以快速精准的找到有效的资料?
这篇记录的是Android中如何把我们往存储中写入的文件,如何显示到文件管理的下载列表、最近文件列表中。
假设保存的文件为外部存储中的File file
,也许是app私有目录中的(未测试)、也许是外部存储根目录中download、pictures等目录中的(没发现问题)。
测试支持Android 4.0 - 9.0。
第一步,暴力扔给媒体扫描,管你是不是图片
如果我们的文件是图片、视频、音乐等媒体文件,显示到相册等地方
context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(file)));
复制代码
第二步,添加到下载列表,自动会显示到最近文件
String mime=MimeTypeMap.getSingleton().getMimeTypeFromExtension(ext) || ||"application/octet-stream";//为空使用后面这个,怎么快速的写?
DownloadManager manager= (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
manager.addCompletedDownload(file.getName(), file.getName(), true, mime, file.getAbsolutePath(), file.length(),false);
复制代码
实际有效的成分:DownloadManager.addCompletedDownload
,调用后会把文件添加到下载列表,并出现在最近文件列表中(图片是会,其他类型测试的可能会)。当想要这个功能时,运气不好找半天也不一定找的到。
end.