1

このコードを使用して、私のチーム メイトはカレンダー イベントを追加していました。これは問題なく動作します。カレンダーのイベントは Google カレンダーに表示されます。

    TimeZone timeZone = TimeZone.getDefault();
        ContentResolver cr = getContentResolver();
        ContentValues values = new ContentValues();
        values.put(CalendarContract.Events.EVENT_TIMEZONE, timeZone.getID());
        values.put(CalendarContract.Events.DTSTART, startInMillis);
        values.put(CalendarContract.Events.DTEND, endInMillis);
        values.put(CalendarContract.Events.TITLE, title);
        values.put(CalendarContract.Events.EVENT_LOCATION, "Raum: " + location);
        values.put(CalendarContract.Events.DESCRIPTION,
                "Dauer der Veranstaltung: " + duration + " min" + "---|---Dozent: "
                        + organizer.trim() + "---|---Course added by UNIDATE---|");
        values.put(CalendarContract.Events.CALENDAR_ID, 1);
        Uri uri = cr.insert(CalendarContract.Events.CONTENT_URI, values);
        ContentUris.withAppendedId(uri, id);

しかし今、これらのイベントを ID で削除したいと考えています。私はこのコードを(とりわけ)使用しました:

long selectedEventId = 1;
String[] selArgs = new String[]{Long.toString(selectedEventId)};
int deleted = getContentResolver().delete(CalendarContract.Events.CONTENT_URI, Events._ID + " =? ", selArgs);

これはうまくいきません。私も追加しようとしました

values.put(CalendarContract.Events._ID, id);
4

1 に答える 1

0

簡単な解決策は、最初にカレンダー イベントをクリアしてから、関連するイベントを追加することです。

カレンダー イベントをクリアするには、次のように呼び出します。

context.getContentResolver().delete(CalendarContract.Events.CONTENT_URI, CalendarContract.Events.CALENDAR_ID + " = ?", new String[]{String.valueOf(calendarId)});
于 2016-04-06T10:07:49.103 に答える