android可以在日历中创建不可编辑的事件吗?

时间:2013-12-19 10:57:02

标签: android events calendar

我需要一个Android应用程序的帮助我想在日历中创建广告事件(不是GOOGLE CALENDAR但是简单日历)不可编辑。

现在我使用此代码来创建事件和日历:

    pushAppointmentsToCalender(this, "TITLE", "DESCRIPTION", "CITY", 1, MYDATE, false, false);

public static long pushAppointmentsToCalender(Activity curActivity, String title, String addInfo, String place, int status, long startDate, boolean needReminder, boolean needMailService) {

        String eventUriString = "content://com.android.calendar/events";
        ContentValues eventValues = new ContentValues();
        eventValues.put("eventTimezone", TimeZone.getDefault().getID());
        eventValues.put("calendar_id", 2); // id, We need to choose from
                                            // our mobile for primary
                                            // its 1
        eventValues.put("title", title);

        eventValues.put("description", addInfo);
        eventValues.put("eventLocation", place);
        eventValues.put("description", addInfo);
        eventValues.put("eventLocation", place);



        long endDate = startDate + 1000 * 60 * 60; // For next 1hr


        eventValues.put("dtstart", startDate);
        eventValues.put("dtend", endDate);
        eventValues.put("guestsCanModify", 0);

        eventValues.put("eventStatus", status); // This information is




        Uri eventUri = curActivity.getApplicationContext().getContentResolver().insert(Uri.parse(eventUriString), eventValues);
        long eventID = Long.parseLong(eventUri.getLastPathSegment());

  return eventID;

    }

此代码有效但如果我打开我的日历,我可以修改该事件。

有一个事件属性:eventIsEditable = False

1 个答案:

答案 0 :(得分:0)

来自Android的日历提供程序documentation

这些都是偶数所有的领域

  • CALENDAR_ID事件所属日历的_ID。
  • ORGANIZER活动组织者(所有者)的电子邮件。
  • TITLE活动的标题。
  • EVENT_LOCATION事件发生的地方。
  • 描述事件的描述。
  • DTSTART事件以自纪元以​​来的UTC毫秒开始的时间。
  • DTEND事件以纪元以来的UTC毫秒结束的时间。
  • EVENT_TIMEZONE活动的时区。
  • EVENT_END_TIMEZONE事件结束时间的时区。
  • DURATION RFC5545格式的事件持续时间。例如,值“PT1H”表示事件应持续一小时,值“P2W”表示持续时间为2周。
  • ALL_DAY值为1表示此事件占用整个日期,由本地时区定义。值为0表示它是一个常规事件,可以在一天中的任何时间开始和结束。
  • RRULE事件格式的重复规则。例如,“FREQ = WEEKLY; COUNT = 10; WKST = SU”。您可以在此处找到更多示例。 RDATE事件的重复日期。您通常将RDATE与RRULE结合使用来定义重复出现的聚合集。有关更多讨论,请参阅RFC5545规范。
  • 可用性如果此事件计为繁忙时间或可以安排的空闲时间。
  • GUESTS_CAN_MODIFY客人是否可以修改活动。
  • GUESTS_CAN_INVITE_OTHERS客人是否可以邀请其他客人。
  • GUESTS_CAN_SEE_GUESTS

它们都与用户修改事件的能力无关。所以不能用android的内置日历来做到这一点。