【发布时间】:2012-03-08 04:55:36
【问题描述】:
我已经看到这个问题被问了 100 多次,但没有一个答案对我有用。我希望我的应用程序能够处理所有带有 ics 或 vcs 扩展名的文件,*无论它们来自何处。 *除了,如果它们来自 http/https,我不想自己下载它们,我只想让浏览器至少让用户保存它们,然后用我的应用程序打开。目前浏览器提示“此手机不支持内容”。
这是我目前拥有的,但我一直在尝试一切:
<intent-filter >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:host="*" />
<date android:mimeType="text/calendar" />
<data android:scheme="https" />
</intent-filter>
通过上述内容,当我单击来自我的服务器的 https 链接并且我知道我的服务器正在发送文本/日历 mime 类型时,机器人会询问他们想要使用什么应用程序来打开链接。该列表包含我的应用程序或浏览器。如果我选择我的应用程序,它会运行我的活动并为我提供 Uri。我希望浏览器下载文件,但我不想自己下载它......其他文件类型的工作方式相同,图像,pdf等。如果我选择浏览器,它会开始下载但然后停止出现“此手机不支持的内容”错误。
我也试过这个:
<intent-filter >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:host="*" />
<data android:scheme="file" />
<data android:pathPattern=".*\\.ics" />
</intent-filter>
还尝试将方案设置为“内容”,以及我在 SO 和其他地方发现的许多其他变体。
【问题讨论】:
标签: android mime-types file-extension intentfilter