问题描述
|
我是android开发领域的新手。我想将一个事件添加到本机日历中,我可以成功看到该操作,但是当我转到日历时,看不到该事件。我的代码如下
字符串[]投影=新字符串[] {\“ _ id \”,\“名称\”};
Uri日历= Uri.parse(\“ content://com.android.calendar/calendars \”);
Cursor c = managedQuery(calendars,projection,\"selected=1\",null,null);
if(c.movetoFirst()){
String calName;
String calID;
int nameColumn = c.getColumnIndex(\"name\");
int idColumn = c.getColumnIndex(\"_id\");
calName = c.getString(nameColumn);
calID = c.getString(idColumn);
Time start = new Time(\"20110416T090000\");
Time end = new Time(\"20110416T100000\");
ContentValues values = new ContentValues();
values.put(\"calendar_id\",calID);
values.put(\"title\",\"Event Title\");
values.put(\"description\",\"test d\");
values.put(\"eventLocation\",\"Melbourne\");
values.put(\"dtstart\",start.toMillis(true));
values.put(\"dtend\",end.toMillis(true));
values.put(\"allDay\",0);
values.put(\"eventStatus\",1);
values.put(\"transparency\",0);
values.put(\"visibility\",0);
values.put(\"hasAlarm\",1);
Uri events = Uri.parse(\"content://com.android.calendar/events\");
Uri result = getContentResolver().insert(events,values);
我使用摩托罗拉单元。谁能指出我为什么失败?非常感谢。
解决方法
我在自己的项目中使用了以下ContentValues并获得了成功:
ContentValues cv = new ContentValues();
cv.put(\"calendar_id\",calendarid);
cv.put(\"title\",\"sometitle\");
cv.put(\"dtstart\",\"\"+calendarfrom.getTimeInMillis());
cv.put(\"dtend\",\"\"+calendarto.getTimeInMillis());
cv.put(\"hasAlarm\",0);
Uri newevent = getContentResolver().insert(Uri.parse(\"content://calendar/events\"),cv);
我怀疑您提供的contentvalue之一导致了失败。首先尝试我的简化示例。