【问题标题】:Add Calendar event to Android from web .vcs download从 web .vcs 下载将日历事件添加到 Android
【发布时间】:2012-08-06 08:59:20
【问题描述】:

我目前的问题如下;我正在创建一个网站,其中包含两个供下载的文件(.vcs 和 .ics),一旦单击相应的链接,就会将事件添加到设备日历中。对于 iPhone 中的 .ics,我没有问题。我的问题是,在 Android 中下载 .vcs 文件时,它只会打开一个显示 .vcs 文件内容的空白页面,但没有下载它,也不会将该文件识别为日历事件。

我认为根据我之前在 SO 中读到的内容(我正在寻找那个线程,但现在找不到它来参考)这与 mime 类型有关,但在尝试弄清楚怎么做,我不能让它工作。

在该线程中,他们还指向 vcs 文件适用于 Android 的网站,因此可以这样做(我读了很多帖子说这是不可能的,除非你从 google play 下载日历应用程序) ; http://plone.org/events/community/plone-conference-2011

我检查了该页面的源代码,我想知道他们是否在服务器端做某事 如果您能帮我指出要遵循的方向或可行的解决方案或您可能对此提出的任何建议,我将不胜感激。

PD - 这是我在 SO 中的第一个问题!

【问题讨论】:

  • 这是我终于找到的 SO 帖子:stackoverflow.com/questions/7700530/…。我尝试添加 http 标头 header("内容类型: text/x-vCalendar; charset=utf-8"); header("内容配置:附件;文件名='london2012.vcs'"); ?> 但还是不行
  • 这个问题你解决了吗?你能帮我做同样的事情吗?
  • 我解决了,是的,我使用的解决方案在答案中,我不知道您如何处理应用程序中的下载,但基本上是指向 php 文件的链接(答案中的示例)。
  • 导入csv文件需要单独处理吗?
  • 对不起,但我不明白你的意思,只是一个链接,当你点击时会转到一个 php 文件,其中 vcs 指定了解决方案中的标题。

标签: android calendar icalendar


【解决方案1】:

终于可以使用这个 index.php 添加指向位置的链接

<?php
header("Content-Type: text/x-vCalendar");
header("Content-Disposition: attachment; filename=london2012.vcs");
?>
BEGIN:VCALENDAR
PRODID:-//AT Content Types//AT Event//EN
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
DTSTAMP:20120801T133822Z
CREATED:20120801T042948Z
LAST-MODIFIED:20120801T043003Z
SUMMARY:Olympic Games
DTSTART:20120727T000000Z
DTEND:20120812T000000Z
LOCATION:London
URL:http://www.london2012.com/
CLASS:PUBLIC
END:VEVENT
END:VCALENDAR

然后它会从 Android 下载文件,您可以将其导入日历。 希望对其他人有用...

【讨论】:

  • 您好,我想在我的一个应用程序中实现相同的实现,我们需要通过程序在我们的应用程序中处理下载的文件吗?
  • 我复制了上面的代码并创建了一个 php 文件,但在访问 vcs 文件后被下载,但它给了我同样的错误“无法打开文件”。
  • @Kammy 尝试只复制前 4 行,然后输入你的真实事件日历,我的意思是,这个日历是 2 年前的,可能与你的错误有关
  • @SantiagoRebella 我也在我的 Kitkat 4.4.4 上尝试过,但它给了我同样的错误。是因为没有像 iOS 这样的默认功能,Android 手机需要其他应用程序来读取 ics/ical/vcs 文件吗?
  • 它只适用于三星智能手机。其他供应商(micromax、LG、Sony 等)的任何解决方案
猜你喜欢
  • 1970-01-01
  • 2019-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多