我需要使用一些预先填充的数据打开
Android设备的日历应用.我使用的逻辑似乎填充了以下字段:
>活动说明
>活动地点
>从日期,到目前为止
>全天活动/没有
>重复/重复信息
我无法填充“提醒”部分,我想填写提醒部分.很高兴能得到一些帮助
这是我用来打开日历应用程序和填充日期的代码.
// Intent to open Calendar Event Intent intent = new Intent(Intent.ACTION_INSERT) .setData(Events.CONTENT_URI); intent.putExtra(Events.DESCRIPTION,desc); intent.putExtra(Events.EVENT_LOCATION,location); intent.putExtra(Events.TITLE,summary); intent.putExtra(Events.EVENT_TIMEZONE,beginTime.getTimeZone().getID()); intent.putExtra(Events.STATUS,statusStr); intent.putExtra(Events.VISIBLE,transparency); intent.putExtra(Events.RRULE,"FREQ=YEARLY;INTERVAL=1;BYYEARDAY=1,2;UNTIL=20161210;"); intent.putExtra(Events.EXDATE,androidExDateStr.toString()); // Not sure on how to use CalendarContract.Reminders,Tried the following but does not seem to be working intent.putExtra(CalendarContract.Reminders.DESCRIPTION,desc); intent.putExtra(CalendarContract.Reminders.EVENT_LOCATION,location); intent.putExtra(CalendarContract.Reminders.TITLE,summary); intent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME,beginTime.getTimeInMillis()); intent.putExtra(CalendarContract.Reminders.DTSTART,beginTime.getTimeInMillis()); intent.putExtra(CalendarContract.Reminders.EVENT_TIMEZONE,beginTime.getTimeZone().getID()); intent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME,endTime.getTimeInMillis()); intent.putExtra(CalendarContract.Reminders.DTEND,endTime.getTimeInMillis()); intent.putExtra(CalendarContract.Reminders.STATUS,statusStr); intent.putExtra(CalendarContract.Reminders.RRULE,2;UNTIL=20161210;"); intent.putExtra(CalendarContract.Reminders.EXDATE,androidExDateStr.toString()); //intent.putExtra(CalendarContract.Reminders.METHOD,Reminders.METHOD_EMAIL); //intent.putExtra(CalendarContract.Reminders.MINUTES,reminderVal) ; //intent.putExtra(CalendarContract.Events.HAS_ALARM,1); //} try { context.startActivity(intent); } catch(Exception e) { e.printStackTrace(); Log.v(LOG_TAG,"Cannot schedule Calendar event as specified "); return false; }
解决方法
你检查了
http://developer.android.com/guide/topics/providers/calendar-provider.html#reminders的例子吗?
long eventID = 221; ... ContentResolver cr = getContentResolver(); ContentValues values = new ContentValues(); values.put(Reminders.MINUTES,15); values.put(Reminders.EVENT_ID,eventID); values.put(Reminders.METHOD,Reminders.METHOD_ALERT); Uri uri = cr.insert(Reminders.CONTENT_URI,values);