嗨我正在使用以下代码使用Intent将事件添加到我的Android日历。CalendarContract.Events.CALENDAR_ID没有将事件存储在Android中的指定Calendar_Id中,使用意图
Calendar cal = Calendar.getInstance();
Intent intent = new Intent(Intent.ACTION_INSERT); // Even Tried 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", mtodoText);
intent.putExtra(CalendarContract.Events.CALENDAR_ID,3);
startActivity(intent);
但问题是,这个事件不会保存或创建到CALENDAR_ID = 3,但inspite它创建于CALENDAR_ID = 1 我使用下面的代码检索所有我的日历活动,如果我检查日志猫输出它显示CALENDAR_ID创建事件1.
Uri EVENTS_URI = Uri.parse(getCalendarUriBase(true) + "events");
String sSelection = "((" + CalendarContract.Events.DELETED + " != 1))";
/*String sSelection = "((" + CalendarContract.Events.CALENDAR_ID + " = 3) AND ("
+ CalendarContract.Events.DELETED + " != 1))";*/
cur = getActivity().getContentResolver().query(EVENTS_URI, null, sSelection, null, "_id");
if(cur!=null){
while (cur.moveToNext()) {
String taskname=cur.getString(cur.getColumnIndex(CalendarContract.Events.TITLE));
String taskdate=cur.getString(cur.getColumnIndex(CalendarContract.Events.DTSTART));
String s_id=cur.getString(cur.getColumnIndex(CalendarContract.Events._ID));
String taskstatusflag=cur.getString(cur.getColumnIndex(CalendarContract.Events.HAS_ALARM));
Log.e("Title:", "taskname: " + taskname);
Log.e("DTSTART","taskdate: " + taskdate);
Log.e("_ID","s_Id: "+ s_id);
Log.e("HAS ALARM", "taskstatusflag: " + taskstatusflag);
Log.e("Calender ID:",cur.getString(cur.getColumnIndex(CalendarContract.Events.CALENDAR_ID))+"");
}
}
我logcat的输出如下: -
05-31 17:17:54.039 6518-6518/com.myapp E/Title:﹕ taskname: test1
05-31 17:17:54.039 6518-6518/com.myapp E/DTSTART﹕ taskdate: 1464608459000
05-31 17:17:54.039 6518-6518/com.myapp E/_ID﹕ s_Id: 22162
05-31 17:17:54.039 6518-6518/com.myapp E/HAS ALARM﹕ taskstatusflag: 0
05-31 17:17:54.039 6518-6518/com.myapp E/Calender ID:﹕ 1
05-31 17:17:54.039 6518-6518/com.myapp E/Title:﹕ taskname: test Cal 3
05-31 17:17:54.039 6518-6518/com.myapp E/DTSTART﹕ taskdate: 1464684678000
05-31 17:17:54.039 6518-6518/com.myapp E/_ID﹕ s_Id: 22163
05-31 17:17:54.039 6518-6518/com.myapp E/HAS ALARM﹕ taskstatusflag: 0
05-31 17:17:54.039 6518-6518/com.myapp E/Calender ID:﹕ 1
05-31 17:17:54.039 6518-6518/com.myapp E/Title:﹕ taskname: test guest
05-31 17:17:54.039 6518-6518/com.myapp E/DTSTART﹕ taskdate: 1464694253000
05-31 17:17:54.039 6518-6518/com.myapp E/_ID﹕ s_Id: 22164
05-31 17:17:54.039 6518-6518/com.myapp E/HAS ALARM﹕ taskstatusflag: 0
05-31 17:17:54.039 6518-6518/com.myapp E/Calender ID:﹕ 1
05-31 17:17:54.039 6518-6518/com.myapp E/Title:﹕ taskname: test Cal 3
05-31 17:17:54.039 6518-6518/com.myapp E/DTSTART﹕ taskdate: 1464694676000
05-31 17:17:54.039 6518-6518/com.myapp E/_ID﹕ s_Id: 22165
05-31 17:17:54.039 6518-6518/com.myapp E/HAS ALARM﹕ taskstatusflag: 0
05-31 17:17:54.039 6518-6518/com.myapp E/Calender ID:﹕ 1
05-31 17:17:54.039 6518-6518/com.myapp E/Title:﹕ taskname: test Cal 33
05-31 17:17:54.039 6518-6518/com.myapp E/DTSTART﹕ taskdate: 1464695268000
05-31 17:17:54.039 6518-6518/com.myapp E/_ID﹕ s_Id: 22166
05-31 17:17:54.039 6518-6518/com.myapp E/HAS ALARM﹕ taskstatusflag: 0
05-31 17:17:54.039 6518-6518/com.myapp E/Calender ID:﹕ 1
守什么ld我确实要在Calendar_Id = 3,使用Intent中显式创建事件。