2011-02-11 41 views
4

我正在编写一个应用程序,该应用程序需要在后台将事件写入日历,一旦应用程序安装完成后,用户无需输入。这意味着使用Intents创建事件的方法不是我所追求的。在Android应用程序中添加日历事件

我发现一个网站上的代码,但它不工作:现在

long start = 1297512000; // 2011-02-12 12h00 
    long end = 1297515600; // 2011-02-12 13h00 

    String title = "TEST ENTRY - DELETE ME!!"; 

    ContentValues cvEvent = new ContentValues(); 
    cvEvent.put("calendar_id", 1); 
    cvEvent.put("title", title); 
    cvEvent.put("dtstart", start); 
    //cvEvent.put("hasAlarm", 1); 
    cvEvent.put("dtend", end); 

    getContentResolver().insert(Uri.parse("content://com.android.calendar/events"), cvEvent); 

,之前与任何人在趟过了“谷歌强烈建议您不要使用此方法”或类似,我已经知道这一点。

这个有用吗?我在我的设备上运行姜饼,这可能会导致问题!

我发现的唯一选择是使用GData API,但后来我需要验证这是为什么上述更好....这里有应用程序不需要身份验证,所以他们必须使用这个太! :)

如果有人可以帮忙,请做!

感谢 尼尔

+0

奇怪的是,使用在线时代转换器上述日期正常工作。我刚刚发现这些实际上是错误的,并且是在1970年的一个日期。为了纠正它们,我需要添加3x 0到最后,所以它们变成:1297512000000和1297515600000.我的代码正在工作,但日期是错误的,所以我从未见过事件被添加! DOH! – neildeadman 2011-02-12 16:51:30

+0

使用相同的网站批量转换器显示正确的日期,虽然...我已经联系该网站的作者。 – neildeadman 2011-02-12 16:53:23

回答

1

转换日期存在问题。我在1970年代结束了一次约会,但预计在2011年2月举行。

使用不同的时代转换器显示我有3个丢失的0。

0

我有一个应用程序,这样做但两者的HTC Sense UI和摩托罗拉的Motoblur打破了许多手机上这个功能,没有修复,我可能永远找不到。 Google无法扣除这些API并使它们在所有设备上正常可用,这真是令人遗憾。这似乎就像移动设备SDK中的基本功能。我知道它在黑莓SDK中。

我希望能够做到这一点,所以如果你找到方法,请在这里发布,以便我可以看到它。不过,我会提醒您不要在此花费大量时间,因为我不认为只有Android设备的一小部分可以使用此功能。

相关问题