2011-05-13 145 views
1

您好我目前使用以下代码将事件添加到Android的默认日历。向日历添加提醒

Calendar cal = Calendar.getInstance();    
Intent intent = new Intent(Intent.ACTION_EDIT); 
intent.setType("vnd.android.cursor.item/event"); 
intent.putExtra("beginTime", cal.getTimeInMillis()); 
intent.putExtra("allDay", false); 
intent.putExtra("rrule", "FREQ=DAILY"); 
intent.putExtra("endTime", cal.getTimeInMillis()+60*60*1000); 
intent.putExtra("title", "A Test Event from android app"); 
intent.putExtra("description", "Who knows! this might work"); 
intent.putExtra("eventLocation", "Hope this time it works"); 
intent.putExtra("hasAlarm", 1); 
startActivity(intent); 

我的问题是,是否可以编辑此代码,以便我可以添加提醒到日历?

回答

1

在论坛里有一些关于如何实现这些内容的文章。有很多种方法,包括使用一些在google代码中找到的API,但是我发现了一个更简单的方法,尽管我之前没有尝试过,我不确定但怀疑它触发的警告是基于默认的。但有一些探索,你应该能够找到一种方法来定制它。

在任何情况下,如在这里提到:how to edit the calendar events via android application

您应该使用ContentValues对象,它可以作为一个日历条目

ContentValues event = new ContentValues(); 

对于这个对象,你可以用这种方式激活警报:

event.put("hasAlarm", 1); // 0 for false, 1 for true 

的职位并未提及如何设置报警设置,但你也许能找到那些通过调查成字符串键,你可以ü当为日历意图使用ContentValues时,用于put方法。

一旦你完成,你可以把事件到日历中这样说:

Uri eventsUri = Uri.parse("content://calendar/events"); 
Uri url = getContentResolver().insert(eventsUri, event);