我正在制作一个创建事件的应用程序,并以编程方式将它们添加到系统日历中,我遇到的问题是我的代码设置为警报(或提醒)关闭 这是我的方法
public void setEventinCalendar(String name,String description,int year,int month,int day)
{
long startMillis = 0;
long endMillis = 0;
Calendar beginTime = Calendar.getInstance();
beginTime.set(year,month,day);
startMillis = beginTime.getTimeInMillis();
Calendar endTime = Calendar.getInstance();
endTime.set(year,month,day);
endMillis = endTime.getTimeInMillis();
ContentValues values = new ContentValues();
values.put(Events.DTSTART, startMillis);
values.put(Events.DTEND, endMillis);
values.put(Events.TITLE, name+"'s Event");
values.put(Events.ALL_DAY, 1);
values.put(Events.DESCRIPTION,description);
values.put(Events.CALENDAR_ID, 1);
values.put(Events.HAS_ALARM, 1);
String timeZone = TimeZone.getDefault().getID();
values.put(Events.EVENT_TIMEZONE,timeZone);
Uri baseUri= Uri.parse("content://com.android.calendar/events");
getContentResolver().insert(baseUri,values);
}
是否可以设置闹钟或提醒显示的时间? 请帮帮我
答案 0 :(得分:0)
我找到了解决方案,日历提醒无法在特定时间内提醒您 并向您的日历添加提醒使用此方法
public void setEventinCalendar(String name,String description,int year,int month,int day,int hour,int minute)
{
long startMillis = 0;
long endMillis = 0;
Calendar beginTime = Calendar.getInstance();
beginTime.set(year,month,(day),hour,minute);
startMillis = beginTime.getTimeInMillis();
Calendar endTime = Calendar.getInstance();
endTime.set(year,month,(day),hour,minute);
endMillis = endTime.getTimeInMillis();
ContentValues values = new ContentValues();
values.put(Events.DTSTART, startMillis);
values.put(Events.DTEND, endMillis);
values.put(Events.TITLE, name+"'s Event");
values.put(Events.ALL_DAY, 1);
values.put(Events.DESCRIPTION,description);
values.put(Events.CALENDAR_ID, 1);
values.put(Events.HAS_ALARM, 1);
values.put(Events.SELF_ATTENDEE_STATUS,Events.STATUS_CONFIRMED);
values.put(Events.AVAILABILITY, Events.AVAILABILITY_FREE);
String timeZone = TimeZone.getDefault().getID();
values.put(Events.EVENT_TIMEZONE,timeZone);
Uri uri=getContentResolver().insert(Events.CONTENT_URI,values);
long eventID = Long.parseLong(uri.getLastPathSegment());
values = new ContentValues();
values.put(Reminders.MINUTES, TimeUnit.MINUTES.convert(3, TimeUnit.HOURS));
values.put(Reminders.EVENT_ID, eventID);
values.put(Reminders.METHOD, Reminders.METHOD_ALERT);
uri = getContentResolver().insert(Reminders.CONTENT_URI, values);
Toast.makeText(getApplicationContext(), "Event has been Added to Your Calendar ", Toast.LENGTH_LONG).show();
}