使我的android应用程序能够处理所有类型的文件和所有文件扩展名的最佳方法是什么?例如,选择一个pdf文件或一个图像文件,然后选择“打开方式”并能够选择我的应用。如果我指定了文件扩展名,但我知道如何做到这一点,但又如何使其变得通用?
谢谢
答案 0 :(得分:2)
这是我定义AndroidManifest.xml的方式
<intent-filter>
<data android:scheme="file" />
<data android:mimeType="*/*" />
<data android:pathPattern=".*\\.*" />
<data android:host="*" />
</intent-filter>
文件的方案指示打开本地文件时应该发生这种情况。
可以将mimeType 设置为* / *以匹配任何mime类型。
pathPattern 是您指定要匹配的扩展名的位置。开头的。*匹配任何字符顺序。这些字符串需要两次转义,所以\\。匹配文字周期。然后,以文件扩展名结尾。 pathPattern的一个警告是。*不是贪婪的匹配,就像您期望的那样这是一个正则表达式一样。此模式将无法匹配包含的路径。在。*。
之前最后,根据Android文档,pathPattern属性必须同时具有主机属性和方案属性,因此只需将其设置为通配符即可匹配任何内容。