Android 访问默认日历id
我正在开发一个在日历中设置事件和提醒的应用程序。 我使用的代码如下Android 访问默认日历id,android,android-calendar,android-event,Android,Android Calendar,Android Event,我正在开发一个在日历中设置事件和提醒的应用程序。 我使用的代码如下 private void addReminder(int statrYear, int startMonth, int startDay, int startHour, int startMinut, String title){ Calendar beginTime = Calendar.getInstance(); beginTime.set(statrYear, startMonth, startDay,
private void addReminder(int statrYear, int startMonth, int startDay, int startHour, int startMinut, String title){
Calendar beginTime = Calendar.getInstance();
beginTime.set(statrYear, startMonth, startDay, startHour, startMinut);
long startMillis = beginTime.getTimeInMillis();
// String to access default google calendar of device for Event setting.
String eventUriString = "content://com.android.calendar/events";
ContentValues eventValues = new ContentValues();
eventValues.put(Events.CALENDAR_ID, 1);
eventValues.put(Events.TITLE, title);
eventValues.put(Events.DESCRIPTION, "Discription");
eventValues.put(Events.EVENT_TIMEZONE, "India");
eventValues.put(Events.DTSTART, startMillis);
eventValues.put("eventStatus", 1);
eventValues.put("visibility", 3);
eventValues.put("transparency", 0);
eventValues.put(Events.HAS_ALARM, 1);
// Set Event in calendar.
Uri eventUri = getContentResolver().insert(Uri.parse(eventUriString), eventValues);
// Getting ID of event in Long.
long eventID = Long.parseLong(eventUri.getLastPathSegment());
/***************** Event: Reminder(with alert) Adding reminder to event *******************/
// String to access default google calendar of device for reminder setting.
String reminderUriString = "content://com.android.calendar/reminders";
ContentValues reminderValues = new ContentValues();
reminderValues.put("event_id", eventID);
reminderValues.put("minutes", 1);
reminderValues.put("method", 1);
//Setting reminder in calendar on Event.
Uri reminderUri = getContentResolver().insert(Uri.parse(reminderUriString), reminderValues);
}
现在,该代码可以在“三星Galaxy S2”和除“Sony Xperia”之外的其他设备上添加提醒
我无法设置提醒,可能是因为我无法获取设备的日历。
因此,我认为我必须在我的应用程序中获取设备的默认日历id。这样我就可以在每台设备上设置提醒
请告诉我,我在正确的道路上,或有任何其他问题,由于提醒是不是在“索尼Xperia”设置。我在“三星Galaxy S2”和一些“三星、LG和索尼Xperia”设备上测试了这段代码
请建议我该怎么办
谢谢我想日历ID是从1开始分配给日历的。因此,内置的默认日历(如果存在)将具有id 1,否则用户必须在存在id为1的日历之前添加日历