【问题标题】:Alternative to CalendarContract in Android API 8?Android API 8 中 CalendarContract 的替代方案?
【发布时间】:2013-04-16 12:50:29
【问题描述】:

我的应用程序需要将事件添加到内部电话 Caledar 的功能。在 API 14 中,可以通过 CalendarContract 使用类似下面的代码。 API 8 中的替代方案是什么?或者是否可以在代码中检测 API 并根据版本打开/关闭它?

    Intent intent = new Intent(Intent.ACTION_INSERT);
    intent.setType("vnd.android.cursor.item/event");
    intent.putExtra(Events.TITLE, "Learn Android");
    intent.putExtra(Events.EVENT_LOCATION, "Home suit home");
    intent.putExtra(Events.DESCRIPTION, "Download Examples");

    // Setting dates
    GregorianCalendar calDate = new GregorianCalendar(2012, 10, 02);
    intent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME,
      calDate.getTimeInMillis());
    intent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME,
      calDate.getTimeInMillis());

    // Make it a full day event
    intent.putExtra(CalendarContract.EXTRA_EVENT_ALL_DAY, true);

    // Make it a recurring Event
    intent.putExtra(Events.RRULE, "FREQ=WEEKLY;COUNT=11;WKST=SU;BYDAY=TU,TH");

    // Making it private and shown as busy
    intent.putExtra(Events.ACCESS_LEVEL, Events.ACCESS_PRIVATE);
    intent.putExtra(Events.AVAILABILITY, Events.AVAILABILITY_BUSY);
    startActivity(intent); 

【问题讨论】:

    标签: java android android-calendar android-event


    【解决方案1】:

    正如您所说,这仅在 API 14 上可用,在 API 8 上没有替代方案。 过去你能做的最好的事情就是直接访问谷歌日历的 web-api。

    因此,一般来说,最好的方法是使用 SDK_INT 查看 API 版本并根据需要启用/禁用该功能。

    【讨论】:

      猜你喜欢
      • 2019-08-11
      • 1970-01-01
      • 2021-05-15
      • 2015-02-06
      • 1970-01-01
      • 1970-01-01
      • 2015-06-13
      • 2016-02-21
      • 1970-01-01
      相关资源
      最近更新 更多