Fork me on GitHub
RainingNight

Android保存的文件显示到文件管理的最近文件和下载列表中

发现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.

posted @ 2019-06-14 10:29  xiangyuecn  阅读(998)  评论(0编辑  收藏  举报