【问题标题】:How to add a Calendar event with ICS file (URL) in Android from an Intent?如何从 Intent 在 Android 中添加带有 ICS 文件(URL)的日历事件?
【发布时间】:2017-01-19 18:23:26
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: android calendar


    【解决方案1】:

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

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

    在数以千计的 Android 设备型号中,许多可能会发布日历应用。在那些这样做的人中,如果他们获得了谷歌专有应用程序的许可,他们可能会发布谷歌日历。然而,这意味着:

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

    而且,并非所有用户都想使用 Google 日历。他们可能想要使用其他一些日历应用,这些应用要么预装在他们的设备上,要么从应用分发渠道(例如 Play 商店)下载。

    由日历应用程序提供 ICS 导入。不要求每个日历应用都提供此功能,也不要求它们通过第三方应用可以调用的 Intent 操作来提供。

    恕我直言,日历应用提供 ICS 导入的最可能方案是通过 ACTION_VIEW 以及 .ics 的 MIME 类型 (text/calendar?)。此类活动可能支持也可能不支持 httphttps 方案,因为他们可能期望 ICS 文件是本地的(例如,电子邮件附件)并且仅支持 filecontent

    【讨论】:

    • 所以我的下一次尝试可能是将 ics 文件获取到本地并将其本地 uri 作为附加内容传递给 action_view 意图......将尝试并更新结果,但会看看是否有其他人想出另一个想法。提前致谢。
    • @TrungLe:“将其本地 uri 作为附加内容传递给 action_view 意图”——不,它将在“数据”方面(例如,new Intent(Intent.ACTION_VIEW, uriToYourICS)))。
    • 在某些手机(例如 wiko 手机)上不支持 .ics 扩展名,因此没有输出但有错误 toast,其他一些可以打开并正常工作,我想我会解析 ics 文件并开始对日历github.com/rabidaudio/android-ical-parser 进行插入/编辑意图,或者可能只是向 api 询问更多信息,哈哈
    • @TrungLe 您是否对此有一些更新,是否可以通过某些服务端点或通过意图传递 .ics 文件将第三方日历订阅到 Google-Calendar。你找到解决办法了吗?
    猜你喜欢
    • 2011-11-06
    • 2018-10-29
    • 2011-04-12
    • 1970-01-01
    • 2018-09-06
    • 2020-07-21
    • 2012-01-02
    • 1970-01-01
    • 2021-01-03
    相关资源
    最近更新 更多