我想要的:我想在
Android 2.2中添加日历事件.
Uri calendars = Uri.parse("content://com.android.calendar/events"); Cursor managedCursor = managedQuery(calendars,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",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.
我仍然相信即使我自己也需要学习很多,所以如果你有什么要说或纠正的话,我们非常欢迎你.以下链接帮助我: