使应用程序支持 action_send 仅用于自定义文件扩展名

Posted

技术标签:

【中文标题】使应用程序支持 action_send 仅用于自定义文件扩展名【英文标题】:Make app support action_send only for custom file extension 【发布时间】:2017-05-28 06:39:46 【问题描述】:

我将应用程序中的一些对象保存为具有自定义文件扩展名 (.xyz) 的文件,这些文件可以保存到其他应用程序。现在,例如,一旦我在 Dropbox 上有这样的文件并尝试导出它,它应该会显示我的应用程序。现在让它显示我的应用程序的唯一方法是让它接受任何 mime 类型,例如:

  <data android:mimeType="*/*"/>

如何使我的应用程序仅在文件以 .xyz 结尾时才成为选项?

【问题讨论】:

【参考方案1】:

一般来说这是不可能的。

如果文件扩展名对应于众所周知的 MIME 类型(例如,MimeTypeMap 知道它),您可以修改您的 android:mimeType 以使用该 MIME 类型。

但文件扩展名本身不会与ACTION_SEND 一起使用,因为Uri 被打包在Intent 中(作为额外的,而不是作为“数据”的一部分)。另外,更多的时候,你会得到一个contentUri,而不是fileUri,和contentUri可能甚至没有文件扩展名,更不用说正确的。

【讨论】:

感谢您的解释

以上是关于使应用程序支持 action_send 仅用于自定义文件扩展名的主要内容,如果未能解决你的问题,请参考以下文章

意图选择器屏幕中自定义项目的回调

带有 RemoteViews 的 Android 自定义通知布局

使 azure 网站仅可用于其他 azure 网站

MIUI - 尝试启动 ACTION_SEND / ACTION_VIEW 意图时权限被拒绝

如何使 OpenSSL C 服务器仅支持 TLS 1.3?

如何使老式输入层仅用于测试阶段?