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.

原文地址:https://www.cnblogs.com/xiangyuecn/p/11022035.html

时间: 2024-10-14 03:41:23

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

Android调用系统自带的文件管理器进行文件选择

http://blog.csdn.net/zqchn/article/details/8770913的补充 FileUtils文件 public class FileUtils {     public static String getPath(Context context, Uri uri) {         if ("content".equalsIgnoreCase(uri.getScheme())) {             String[] projection =

(转)Android调用系统自带的文件管理器进行文件选择并获得路径

Android区别于iOS的沙盒模式,可以通过文件浏览器浏览本地的存储器.Android API也提供了相应的接口. 基本思路,先通过Android API调用系统自带的文件浏览器选取文件获得URI,然后将URI转换成file,从而得到file. 调用系统自带的文件浏览器 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState

我的Android进阶之旅------>Android【设置】-【语言和输入法】-【语言】列表中找到相应语言所对应的列表项

今天接到一个波兰的客户说有个APP在英文状态下一切运行正常,但是当系统语言切换到波兰语言的时候,程序奔溃了.所以首先我得把系统的语言切换到波兰语,问题是哪个是波兰语呢? 我还真的不认识哪个列表项代表着波兰语.如下图所示:进入到[设置]-[语言和输入法]-[语言]列表后,我就傻眼了,哪个是波兰语呢?本文将介绍如何在列表中找到相应语言所对应的列表项. ([Settings]-[Language & input]-[Language]) 哪个是波兰语呢?好吧,我只认识 日本语.中文.英语的几项,其他的

Android 应用程序退出后不在运行列表中显示的方法

使应用信息不在运行列表中显示的方法需要修改配置文件中activity标签的两个值 <span style="font-size:14px;">android:noHistory="true" android:excludeFromRecents="true"></span> 将这两个值置为true android:noHistory 这个属性用于设置在用户离开该Activity,并且它在屏幕上不再可见的时候,它是否应

Android SDK下载列表(含国内下载)-下

前一篇博客中借用了三位前辈的博客.里面是SDK的下载列表. 当然.里面不可能是完整的.也有很多都没有收录.但是我们可以从那些已经收录了的链接里的命名习惯中可以知道我们想要下载的链接是什么 当我们需要的版本不在那些下载列表中时.这就需要我们自己改下载链接了. 举个例子: 比如.平凡的世界这位前辈收录的下载android-sdk列表中: 在Android SDK列表中只有23.02和24.01两个版本.但是我需要22.3版本的.从下载链接中的规律可以看到 都是从一个网站中下载的.只是最后的文件名不同

Android——保存并读取文件

Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,仅仅能被应用本身訪问,在该模式下,写入的内容会覆盖原文件的内容,假设想把新写入的内容追加到原文件里.能够使用Context.MODE_APPEND Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容.否则就创建新文件. Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其它应用是否有权限读写该文件. MODE_WO

android asmack 注册 登陆 聊天 多人聊天室 文件传输

XMPP协议简介 XMPP协议(Extensible Messaging and PresenceProtocol,可扩展消息处理现场协议)是一种基于XML的协议,目的是为了解决及时通信标准而提出来的,最早是在Jabber上实现的.它继承了在XML环境中灵活的发展性.因此,基于XMPP的应用具有超强的可扩展性.并且XML很易穿过防火墙,所以用XMPP构建的应用不易受到防火墙的阻碍.利用XMPP作为通用的传输机制,不同组织内的不同应用都可以进行有效的通信. 这篇文章有基本的介绍,http://bl

Android SDK Manager无法显示可供下载的未安装SDK解决方案

FAQ: 问下的 我的ANDROID SDK MANAGER里原来下载了一些SDK,但是我现在想重新下载新的SDK,咋Packages列表没显示呢?该怎么办? Answer: 据说dl-ssl.google.com在大陆被强了,伟大的天朝真是不让人活了,解决方法就是修改C:\Windows\System32\drivers\etc\hosts文件.添加一行:  74.125.237.1       dl-ssl.google.com   这里需要注意的是hosts文件是只读的,我们没有权限修改,

Android(java)学习笔记185:xml文件生成

1.xml文件: 用元素描述数据,跨平台. 2.利用传统的方式创建xml文件,下面是一个案例: 设计思路:建立一个学生管理系统,创建xml文件保存学生信息: (1)首先是布局文件activity_main.xml文件,如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"