打开电子邮件附件时如何获取文件名和扩展名
Posted
技术标签:
【中文标题】打开电子邮件附件时如何获取文件名和扩展名【英文标题】:How to get filename and extension when opening email attachment 【发布时间】:2012-03-11 20:26:39 【问题描述】:我创建了一个意图过滤器来将我的活动与自定义文件扩展名相关联。这可以正常工作:邮件应用程序启动我的活动以获取具有自定义扩展名的附件。
在活动中,我这样阅读意图:
Uri uri = getIntent().getData();
我可以打开一个输入流,但我想知道附件的文件名和扩展名。有什么方法可以从 Uri 获得这个?
我尝试通过光标获取此信息,但邮件应用程序似乎只有两列:_id 和 _data,与文件名和/或扩展名无关。
我知道我无法访问实际文件,但需要知道文件名。
【问题讨论】:
【参考方案1】:如果您使用给定的 Uri 执行查询,则游标有 4 列:_id
、_data
、_display_name
和 _size
。 _display_name
是带扩展名的文件名。
来源:AOSP 电子邮件应用程序
AttachmentUtilities.Columns - 查询附件 Uri 时使用的列
AttachmentProvider - 附件提供程序实现
【讨论】:
以上是关于打开电子邮件附件时如何获取文件名和扩展名的主要内容,如果未能解决你的问题,请参考以下文章