gpt4 book ai didi

java - 如何在android 4中将日历事件添加到默认日历,无需Intent,静默?

转载 作者:IT老高 更新时间:2023-10-28 21:22:07 27 4
gpt4 key购买 nike

我想在 android 4+ 中以编程方式(直接)添加日历事件。这可以在模拟器上测试吗?我没有安卓手机。一些示例代码将不胜感激。我阅读了 android 开发人员的日历提供程序,但我很困惑。如何将事件添加到用户的默认日历?我不需要同步。

编辑:我不想启动添加 Intent 的事件。相反,我想完全从代码中添加它们,而不是启动另一个 Activity 。我需要能够在模拟器上测试事件将被添加到设备默认用户的主日历中。如何设置模拟器查看用户的默认日历?

最佳答案

Here是我最终做到的一个工作示例:

ContentResolver cr = ctx.getContentResolver();
ContentValues values = new ContentValues();

values.put(CalendarContract.Events.DTSTART, dtstart);
values.put(CalendarContract.Events.TITLE, title);
values.put(CalendarContract.Events.DESCRIPTION, comment);

TimeZone timeZone = TimeZone.getDefault();
values.put(CalendarContract.Events.EVENT_TIMEZONE, timeZone.getID());

// Default calendar
values.put(CalendarContract.Events.CALENDAR_ID, 1);

values.put(CalendarContract.Events.RRULE, "FREQ=DAILY;UNTIL="
+ dtUntill);
// Set Period for 1 Hour
values.put(CalendarContract.Events.DURATION, "+P1H");

values.put(CalendarContract.Events.HAS_ALARM, 1);

// Insert event to calendar
Uri uri = cr.insert(CalendarContract.Events.CONTENT_URI, values);

dtutil 在哪里

SimpleDateFormat yyyyMMdd = new SimpleDateFormat("yyyyMMdd");
Calendar dt = Calendar.getInstance();

// Where untilDate is a date instance of your choice, for example 30/01/2012
dt.setTime(untilDate);

// If you want the event until 30/01/2012, you must add one day from our day because UNTIL in RRule sets events before the last day
dt.add(Calendar.DATE, 1);
String dtUntill = yyyyMMdd.format(dt.getTime());

引用:Recurrence Rule

关于java - 如何在android 4中将日历事件添加到默认日历,无需Intent,静默?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13709477/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com