安卓:设置提醒功能 [英] Android : Set reminder functionality
问题描述
我发展与提醒功能的应用程序。在code I采用的是如下设置提醒和事件:
I am developing an application with reminder functionality. The code i used is as follows to set the reminder and event:
private void addReminder(int statrYear, int startMonth, int startDay, int startHour, int startMinut, String title){
// Convert start of begin time of reminder in milliseconds.
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";
// Creation of Event.
ContentValues eventValues = new ContentValues();
// Set calendar as 1 for default calendar.
eventValues.put(Events.CALENDAR_ID, 1);
// Set title as user define.
eventValues.put(Events.TITLE, title);
// Set description as user define.
eventValues.put(Events.DESCRIPTION, "MYApp");
// Set location as user define.
eventValues.put(Events.EVENT_TIMEZONE, "India");
// Set start time as system time or time converted in milliseconds.
eventValues.put(Events.DTSTART, startMillis);
// Set status of event as 1.
eventValues.put("eventStatus", 1);
// Set visibility of event as 3 (public).
eventValues.put("visibility", 3);
// Set transparency as 0. No other app seen through reminder.
eventValues.put("transparency", 0);
// Set alarm as 1. Ringing.
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();
// Set reminder on Event ID.
reminderValues.put("event_id", eventID);
// Set reminder minute before.
reminderValues.put("minutes", 1);
// Set method of reminder
reminderValues.put("method", 1);
@SuppressWarnings("unused")
//Setting reminder in calendar on Event.
Uri reminderUri = getContentResolver().insert(Uri.parse(reminderUriString), reminderValues);
}
以上code运行正常。
现在在需要应用是:
- 如何获得提醒标识。
- 如何从我的日历编程上述code设置删除提醒。
- 如何以编程方式编辑现有的提醒。
- 如何做提醒,隐藏在日历和它去仅可见报警的时间。
请指导我用你的建议。
推荐答案
一个。如何获得提醒标识。
A. How to get reminder id.
您可以让您的提醒标识为:
You can get your reminder ID as :
Long reminderID = Long.parseLong(reminderUri.getLastPathSegment());
乙。如何从我的日历programmetically上述code设置删除提醒。
B. How to delete reminder from my calender programmetically set by the above code.
您可以通过调用以下code从日历中删除提醒:
You can delete reminder from the calender by calling the following code :
Uri reminderUri = Uri.parse("content://com.android.calendar/reminders");
reminderUri = Uri.withAppendedPath(reminderUri, String.valueOf(reminderID));
context.getContentResolver().delete(reminderUri, null, null);
℃。如何编辑现有提醒programmetically。
C. How to edit existing reminder programmetically.
您可以通过设置在同一事件ID,并提醒新更新的字段按照code更新提醒:
You can update reminder by setting new updated fields on same event id and reminder in by following code :
更新事件
Uri updateEventUri = Uri.withAppendedPath(Uri.parse("content://com.android.calendar/events"), String.valueOf(eventID));
context.getContentResolver().update(updateEventUri, eventValues, null, null);
更新提醒
Uri updateReminderUri = Uri.withAppendedPath(Uri.parse("content://com.android.calendar/reminders"), String.valueOf(Utility.eventID));
context.getContentResolver().update(updateReminderUri, reminderValues, null, null);
这篇关于安卓:设置提醒功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!