2

私のアプリケーションには、イベントを内線電話のカレンダーに追加する機能が必要です。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); 
4

1 に答える 1

1

あなたが言ったように、それは API 14 でのみ利用可能であり、API 8 に代わるものはありません。過去にできる最善の方法は、Google カレンダーの web-api に直接アクセスすることでした。

したがって、一般的には、SDK_INT を使用して API のバージョンを確認し、必要に応じて機能を有効/無効にするのが最善の方法です。

于 2013-04-16T12:58:05.610 に答える