Android上的webcal://支持不工作 - 是否有支持的日历订阅替代方案?

41
我们为客户提供了一个 iCalendar/VCalendar 订阅服务,他们可以使用 webcal:// 链接在设备上订阅。我们有一个简单的按钮"订阅此日历",用户点击它后,他们的日历应用程序将吸入数据 - 完成。这在大多数设备上都很好用,但我们发现它在 Android 设备上表现非常糟糕。在默认的 Android 浏览器上,它会出现"网页不可用"的错误,对我们的用户没有帮助。在 Android 上的 Chrome 上,当用户点击按钮时,它什么也不做,只是坐在那里,如果我将 webcal:// 链接粘贴到 Chrome 的地址栏中,它会在谷歌中查找,而不是加载 cal feed。如果我使用 http://,它会在网页中显示 feed 内容,但不会触发日历订阅,这对于我们不太懂技术的用户来说并不是很有用。我的问题是:是否有一种受支持的 Android 日历订阅类型,可以在用户无需手动从 Web 应用程序复制链接代码、打开其日历应用程序、单击添加订阅并粘贴链接的情况下正常工作?目前最好的替代方案是检测浏览器类型,如果是 Android,则弹出一个窗口,其中包含用户要复制的链接代码,并给他们提供查找 cal 订阅链接和粘贴链接的说明。然而,我知道这会导致许多不那么技术 savvy 的用户的支持电话,所以我宁愿不这样做 :) 。谢谢!

4
有数百种日历应用程序,预装在设备上并由用户从Play商店和其他地方安装。每个应用都能做自己想要的事情。AOSP日历应用程序源代码在此处,它只支持Google日历URL(https://www.google.com/calendar前缀)。如果你想了解其他日历应用程序的功能,你需要询问这些应用程序的开发人员。 - CommonsWare
好的,根据这个情况,看起来我的唯一选择就是检测Android设备并提供用户复制的反馈链接 - 真遗憾没有更简洁的方法来解决这个问题。这似乎是一个普遍的问题。 - salonMonsters
3
可能有一些专门支持 webcal: 的日历应用程序,或者接受 webcal: 并将日历条目路由到AOSP应用程序标准日历存储(CalendarContract)的辅助应用程序。在Play商店中搜索一下,看看能找到什么,或者在 Software Recommendations StackExchange 网站 上询问。如果有运气的话,您可以找到一些东西,可以向用户推荐,以帮助简化这个过程,如果他们将经常使用您的网站进行这项操作。 - CommonsWare
1
或者您可以提供一个标准的日历链接?使用正确的日历头信息,http://....ics。 - anmari
2
@CommonsWare确实有一些应用程序可以为您处理这种转换。我觉得很奇怪AOSP自己不能做到这一点。【研究】看起来有一个补丁可以做到这一点。【https://android-review.googlesource.com/#/c/88711/3/AndroidManifest.xml】我想知道为什么它还没有合并。 - Michael
显示剩余2条评论
2个回答

3

正如网页所说:

安卓手机不支持webcals。但是,您可以将日历订阅到 Microsoft Outlook 或 Google Calendar,然后将 Google Calendar 与安卓同步。此外,您还可以在设备上安装 ICSSync,然后向该应用添加日历链接。

https://www.webcal.guru/en-US/help?question_id=subscribe


1

正如@Seïfane Idouchach所指出的那样,Android浏览器不支持webcal订阅。

解决方法:

  1. 使用http://代替webcall://
  2. 设置头文件为'Content-Disposition: attachment',以强制在Android设备上保存文件。(您可能还想设置文件名头部)。
  3. 现在由于上述两个步骤,Android客户端会下载该文件。
  4. 下载后,用户可以单击文件将其添加到日历应用程序中。

34
问题在于这种方法不会触发实际的订阅,只会进行一次性下载。 - Mike N

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接