当前位置: 首页 > 面试题库 >

如何在Android 4中无提示地将日历事件添加到默认日历中而无任何提示?

万俟光临
2023-03-14
问题内容

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

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


问题答案:

这是我最终成功的一个工作示例:

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);

这里dtuntil

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



 类似资料:
  • 我在我的php站点中使用fullcalendar。我用eventSources加载事件,给它一个url重定向到我的php控制器,该控制器生成json数据。在呈现日历之前,我希望每个事件都有工具提示。为此,我编写了一个javascript函数,用于添加工具提示: 其中内容是html内容。该函数在日历渲染之后运行。呈现日历后,工具提示不显示。 为了解决这个问题,我尝试将该函数添加到datesRende

  • 我们正在使用API Google开发应用程序。在这个过程中,我们遇到了一些困难。 我们使用了php-sdk,在这个页面上“code . Google . com/p/Google-API-PHP-client/”我们使用了谷歌日历服务。我们遵循位于以下位置的文档:“developers . Google . com/Google-apps/calendar/v3/reference/”日历和事件部

  • 要在Google日历中添加事件,我创建了一个Google服务号,从中我获得了客户端ID、服务帐户名称和p12密钥。现在从我的代码中,它正在创建一个事件,但它创建了自己的新日历以插入具有服务号名称的事件。我想在我的Google帐户的默认日历中添加事件。下面是服务号事件插入的工作代码。

  • 问题内容: 我正在尝试写一些东西,让某人可以将有声读物上课,并且应该将到期日定为14天。我的班级有一个toString()方法,该方法应打印出到期日,但无论如何始终打印出到期日是3/5。 问题答案: 没有按照你的意思去做。它的值是静态常量的值,我想是2(实际上,您可以在源代码中看到它)。 我想你是说 此外,您不应该拨打两次电话:如果您拨打两次电话,日期可能会不一致。调用一次,将其分配给一个字段:

  • 问题内容: 我想知道如何在设备中添加日历事件,但是要使用swift。我知道在Objective-C中有一些示例,但是目前还没有很快。非常感谢。 问题答案: Swift 3.0版本 参考:https://gist.github.com/mchirico/d072c4e38bda61040f91

  • 我想构建一个应用程序,将事件添加到组织用户的日历中。 我有一个天蓝色的银行,也是一个办公365银行。 我在本文的帮助下获得了访问令牌:https://learn.microsoft.com/en-us/graph/auth-v2-service 这些是我用来获取令牌的参数和endpoint:https://log in . Microsoft online . com/{ my _ tenant