Android 2.2 - 为什么我看不到我添加到日历中的事件?

时间:2011-04-13 10:55:49

标签: android

我是Android开发世界的新手。我想在我的原生日历中添加一个事件,我可以看到操作成功,但是当我去日历时我看不到。我的代码在

之下

String [] projection = new String [] {“_ id”,“name”};                 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);

我使用摩托罗拉单位。谁能指出我失败的原因?非常感谢。

1 个答案:

答案 0 :(得分:0)

我在自己的项目中使用了以下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); 

我怀疑你提供的一个内容值导致失败。首先尝试我的简化示例。