如何在Android中从Intent添加带有ICS文件(URL)的Calendar事件?

时间:2017-01-11 12:14:17

标签: android calendar

我有一个从API响应返回的* .ics文件,我正在尝试将其添加到用户日历(通过Calendar Add Event活动)。在iOS中会是这样的: How can I open calendar .ics files in ios?

我一直在寻找,但似乎没有默认的动作处理程序来从url添加ics文件?到目前为止,我已尝试过这些解决方案:

但没有一个可用于处理ICS文件。

它们在同样的目的下正常工作,但在我目前的情况下,我们希望动作处理程序在所有平台上都是相同的并使用相同的api响应(返回可下载的.ri文件的uri)。

有没有人遇到同样的情况?或者,如果您发送/附加ics文件(它能够将该事件添加到日历),是否有人知道Gmail的工作原理?

1 个答案:

答案 0 :(得分:2)

  

没有默认的操作处理程序来从url添加ics文件?

正确。 Android是一个操作系统。它不是日历应用程序。

在数以千计的Android设备型号中,许多可能会发布日历应用。除此之外,如果他们拥有Google的专有应用程序许可,许多人可能会发布谷歌日历。但是,这意味着:

  • 并非所有设备都有日历应用
  • 并非所有设备都有Google日历

而且,并非所有用户都想使用Google日历。他们可能希望使用其他日历应用,可以预先安装在自己的设备上,也可以从应用分销渠道下载,例如Play商店。

由日历应用程序提供ICS导入。并不要求每个日历应用程序都提供此功能,并且不要求他们通过第三方应用程序可以调用的某些Intent操作执行此操作。

恕我直言,提供ICS导入的日历应用程序最有可能通过ACTION_VIEW使用.ics(text/calendar?)的MIME类型。此类活动可能支持也可能不支持httphttps计划,因为他们可能希望ICS文件是本地的(例如,电子邮件附件),并仅支持file和{{1} }。