【发布时间】:2015-03-05 07:06:38
【问题描述】:
我想向原生Calendar 添加一个事件,在这里我想在每个Tuesday 上重复这个事件,直到31 December 2015:
btnWeekly.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Calendar calendar = Calendar.getInstance();
Intent intent = new Intent(Intent.ACTION_INSERT)
.setData(Events.CONTENT_URI)
.setType("vnd.android.cursor.item/event")
.putExtra(Events.TITLE, "Tuesdays")
.putExtra(Events.DESCRIPTION, "Tuesday Specials")
.putExtra(Events.EVENT_LOCATION, "Lixious Bench")
.putExtra(Events.RRULE, "FREQ=WEEKLY;BYDAY=Tu;UNTIL=20151231")
.putExtra(Events.DTSTART, calendar.getTimeInMillis())
.putExtra(CalendarContract.EXTRA_EVENT_ALL_DAY, true)
.putExtra(CalendarContract.Events.HAS_ALARM, 1)
.putExtra(Events.AVAILABILITY, Events.AVAILABILITY_BUSY);
startActivity(intent);
}
}
问题:在日历中,它为每个Thursday 显示此事件,而我在代码中使用了“tu”
还有一件事,如果我也想为这个事件提供持续时间,比如:from 6:00 pm to 9:00 pm only。
【问题讨论】:
-
我看到你有一个 RRULE 被注释掉了;当你使用那个时发生了什么?很好奇,因为规范要求 TU 全部大写。
-
@Sun 你用alram manager重复了吗?
-
@Vaishali 我不想用闹钟,我只能用日历来做这个
-
@Sun : alarmmanager 是 Android 的类...因为它有调度时间的功能,根据需要.. 将 week 放入 millisencods 然后重复它.. 它会重复该链每个一周,直到你不停止它
标签: android android-intent calendar android-calendar