我创建了一个intent过滤器,用于将我的活动与自定义文件扩展名相关联。这可以正常工作:邮件应用程序启动我的活动以获取具有自定义扩展名的附件。
在活动中我像这样阅读了意图:
Uri uri = getIntent().getData();
我可以打开一个输入流OK,但我想知道附件的文件名和扩展名。有什么办法从Uri得到这个吗?
我尝试通过游标获取此信息,但邮件应用程序似乎只有两列:_id和_data,而不是可能与文件名和/或扩展名相关的内容。
我知道我无法访问实际文件,但需要知道该文件的名称。
答案 0 :(得分:0)
如果使用给定的Uri执行查询,则光标有4列:_id
,_data
,_display_name
和_size
。 _display_name
是带扩展名的文件名。
来源:AOSP电子邮件申请
AttachmentUtilities.Columns - 查询附件Uri时使用的列
AttachmentProvider - 附件提供者实施