在Android 2.2中添加日历和事件
我想要的:我想在Android 2.2中添加日历事件。
我有什么:我已经使用下面的代码添加了一个事件
Uri calendars = Uri.parse("content://com.android.calendar/events");
Cursor managedCursor = managedQuery(calendars, null, null, null, null);
startManagingCursor(managedCursor);
managedCursor.moveToFirst();
String ID = null;
do
{
ID = managedCursor.getString(managedCursor.getColumnIndexOrThrow("_id"));
}
while (managedCursor.moveToNext());
managedCursor.close();
int NewID = Integer.parseInt(ID) + 1;
ContentValues event = new ContentValues();
event.put("calendar_id", NewID); // --- Some confusion Here with the ID,
// --- not sure how to use it here
event.put("title", "New Event Title");
event.put("description", "Event Desc");
event.put("eventLocation", "Somewhere");
long startTime = System.currentTimeMillis() + 1000 * 60 * 60;
long endTime = System.currentTimeMillis() + 1000 * 60 * 60 * 2;
event.put("dtstart", startTime);
event.put("dtend", endTime);
event.put("allDay", 0); // 0 for false, 1 for true
event.put("eventStatus", 1);
event.put("visibility", 0);
event.put("transparency", 0);
event.put("hasAlarm", 0); // 0 for false, 1 for true
Uri eventsUri = Uri.parse("content://com.android.calendar/events");
Uri insertedUri = getContentResolver().insert(eventsUri, event);
问题是什么:
到目前为止,我已经成功地在指定的日期时间添加单个事件,并且显然NewID的角色对我来说是可疑的。 当我尝试添加其他事件时,我得到返回的Uri insertedUri,并向我显示URI末尾新添加的ID。 但我无法在设备上看到任何此类事件。 可能在我对日历和事件的理解方面存在一些问题,或者两者和ID的差异都存在问题。 请引导我失去什么或做错了什么。
问候,
Khawar
大部分代码都很好,你只需要知道关于日历的一些概念。 实际上,Android中有多种日历类型。
要遍历所有日历,请使用以下Uri for 2.2:
Uri calendars = Uri.parse("content://com.android.calendar"+ "/calendars");
获得'id'和'name'的值,你就会明白。
NewID's role is suspicious to me
您的插入代码很好,您只需提供您想要插入任何事件的日历的ID即可。
我仍然相信,即使我自己也需要学习很多东西,所以如果您有任何需要说明或纠正的地方,您是非常受欢迎的。 以下链接帮助我:
使用Android日历
在不使用gdata api的情况下访问日历事件
链接地址: http://www.djcxy.com/p/52889.html