2012-08-06 31 views
11

我目前的問題如下;我正在創建一個網站,其中包含兩個可下載文件(.vcs和.ics),它們會在相應鏈接上單擊鏈接後向設備日曆添加事件。對於iPhone中的.ics,我沒有問題。我的問題是,當在Android中下載.vcs文件時,它只是打開一個空白頁面,顯示.vcs文件內容,但不會將其下載,也不會將該文件識別爲日曆事件。從網站.vcs下載日曆活動到Android下載

我認爲根據我以前在SO中讀過的東西(我正在尋找那個線程,但是現在找不到它可以參考),這與mime類型有關,但是在試圖找出如何做它我不能讓它工作。

在該線程還它們指向其中VCS文件適用於Android的所以是可以做到(我看了很多帖子說,除非你下載從谷歌Play這樣的日曆應用程序是不可能的)站點; http://plone.org/events/community/plone-conference-2011

我檢查該頁面的源代碼,我想知道是否是他們正在做在服務器端 如果你能請幫我指明瞭一個方向跟隨某事或工作的解決方案,或者您可能有關於它的任何建議我會很感激。

PD - 是我的第一個問題!

+0

這就是文章中,我終於找到了:http://stackoverflow.com/questions/7700530/how-to-add-an-entry-in-the-android -calendar-from-html5-mobile-web-page。我嘗試添加http頭<? header(「Content-type:text/x-vCalendar; charset = utf-8」); header(「Content-Disposition:attachment; filename ='london2012.vcs'」); ?>但仍然不起作用 – 2012-08-06 10:42:50

+0

你解決了這個問題嗎?你能幫我解決這個問題嗎? – vinaykumar 2013-03-16 14:49:12

+0

我解決了它是的,我使用的解決方案是在答案中,我不知道你如何處理你的應用程序的下載,但基本上是一個PHP文件的鏈接(答案中的一個例子)。 – 2013-03-18 14:12:13

回答

21

終於得到它的工作在Android添加一個鏈接到一個位置,這個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 

然後下載文件,並可以將其導入到日曆。 希望是有用別人...

+0

嗨,我想在我的應用程序中執行相同的實現,我們是否需要通過程序處理我們應用程序中的下載文件? – vinaykumar 2013-03-16 14:47:36

+0

我複製上面的代碼並創建了一個php文件,但訪問vcs文件後下載,但它給了我同樣的錯誤「無法打開文件」。 – Kammy 2014-11-12 09:34:44

+0

@Kammy試着只複製前4行,然後把你的真實事件日曆,我的意思是,這個日曆是從2年前開始的,也許跟你的錯誤有關 – 2014-11-13 18:17:46