我正在编写一个应用程序,该应用程序需要在后台将事件写入日历,一旦应用程序安装完成后,用户无需输入。这意味着使用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,但后来我需要验证这是为什么上述更好....这里有应用程序不需要身份验证,所以他们必须使用这个太! :)
如果有人可以帮忙,请做!
感谢 尼尔
奇怪的是,使用在线时代转换器上述日期正常工作。我刚刚发现这些实际上是错误的,并且是在1970年的一个日期。为了纠正它们,我需要添加3x 0到最后,所以它们变成:1297512000000和1297515600000.我的代码正在工作,但日期是错误的,所以我从未见过事件被添加! DOH! – neildeadman 2011-02-12 16:51:30
使用相同的网站批量转换器显示正确的日期,虽然...我已经联系该网站的作者。 – neildeadman 2011-02-12 16:53:23