如何在日历意图中插入多天?

时间:2018-07-10 12:11:05

标签: android android-intent calendar

我正在尝试建立一种意图,以用户选择的日期预填充日历应用中的事件。目的是:

                Calendar cal = Calendar.getInstance();
                Intent intent = new Intent(Intent.ACTION_EDIT);
                intent.setType("vnd.android.cursor.item/event");
                intent.setData(CalendarContract.Events.CONTENT_URI);
                intent.putExtra("beginTime", cal.getTimeInMillis());
                intent.putExtra("allDay", false);
                intent.putExtra(CalendarContract.Events.RRULE, "FREQ=WEEKLY;BYDAY=" + duration );
                intent.putExtra("endTime", cal.getTimeInMillis()+60*60*1000);
                intent.putExtra(CalendarContract.Events.TITLE,name + " Reminder" );
                mContext.startActivity(intent);

“持续时间”可以采用以下格式包含日期的名称。“星期一,星期二,星期三等”。问题出在我到目前为止所看到的BYDAY上,其形式是MO,TU,WE ,等等...反正我是否可以在日历意图中包含日期的全名,或者必须将周的日期用MO,TU,WE等的术语表示?如果不是这样的话由于持续时间可以包含星期几的全名(用逗号分隔),因此有什么办法吗?

我想出了如何将字符串的形式更改为两个字符,但这仅适用于一个单词。例如,如果用户仅选择星期一,则可以使用以下代码将其更改为Mo:

  int durationColumnIndex = mCursor.getColumnIndex    (PrescriptionContract.PrescriptionEntry.COLUMN_PRESCRIPTION_FREQUENCY_DURATION);
                String duration1 = mCursor.getString(durationColumnIndex);
                if (duration1.length()>=2){
                    duration1 = duration1.substring(0,2);

但是,如果用户选择了多个日期,则duration1变为:例如“星期一星期一星期三星期日”。有没有办法将此字符串更改为仅Mo,We,Su,以便可以按日历意图发送它?

0 个答案:

没有答案