我使用這個代碼中插入事件到日曆中的android:插入事件到Android的Google日曆
private void insertEvent(int start, int end, String location, String comment, String title) {
ContentValues values = new ContentValues();
TimeZone tz = TimeZone.getDefault();
values.put("calendar_id", 1);
values.put("title", title);
values.put("description", comment);
values.put("eventLocation", location);
values.put("dtstart", start);
values.put("dtend", end);
values.put("allDay", 0);
values.put("rrule", "FREQ=YEARLY");
values.put("eventTimezone", tz.getID());
Uri l_eventUri;
if (android.os.Build.VERSION.SDK_INT <= 7) {
// the old way
l_eventUri = Uri.parse("content://calendar/events");
} else {
// the new way
l_eventUri = Uri.parse("content://com.android.calendar/events");
}
Uri l_uri = getActivity().getContentResolver()
.insert(l_eventUri, values);
}
這裏是另一個嘗試:
private void insertEvent2(int start, int end, String location, String comment, String title){
ContentResolver cr = getActivity().getContentResolver();
ContentValues eventsArray = new ContentValues();
ContentValues values = new ContentValues();
TimeZone timeZone = TimeZone.getDefault();
values.put(CalendarContract.Events.DTSTART,start);
values.put(CalendarContract.Events.DTEND,end);
values.put(CalendarContract.Events.EVENT_TIMEZONE, timeZone.getID());
values.put(CalendarContract.Events.TITLE, title);
values.put(CalendarContract.Events.DESCRIPTION, title);
values.put(CalendarContract.Events.EVENT_LOCATION,location);
values.put(CalendarContract.Events.CALENDAR_ID, 1);
if (ActivityCompat.checkSelfPermission(getActivity(), Manifest.permission.WRITE_CALENDAR) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String[] permissions,
// int[] grantResults)
// to handle the case where the user grants the permission. See the documentation
// for ActivityCompat#requestPermissions for more details.
return;
}
eventsArray = values;
Uri l_uri = getActivity().getContentResolver()
.insert(CalendarContract.Events.CONTENT_URI, values);
}
,但我看不到事件我創建了當我看到默認的Android日曆。你有什麼想法我該怎麼做插入一個事件?
看到這兩個環節[鏈接1](http://stackoverflow.com/a/14056064/6518860)[鏈接2](HTTP://計算器。 com/a/28813990/6518860) –
謝謝。我的代碼與第一個鏈接相同,但我也會嘗試第二個鏈接。 –