CalendarContract.Events DTEND 列を更新しても、CalendarContract.Instances END 列に変更が表示されないのはなぜですか?
私のアプリでは、CalendarContract.Events API を使用して、ユーザーがカレンダー イベントを表示および変更できます。このコードは、Events テーブルの更新を実行してから、(後で) Instances テーブルを使用してそれを読み取ります。たとえば、TITLE への変更は正常に機能します (つまり、イベントを更新し、インスタンスの変更を読み取ることができます)。Events.DTEND への変更は Instances.DTEND に表示されますが、その更新を Instances.END にも表示するにはどうすればよいですか?
明らかに、Android カレンダー アプリ (および私のアプリも) は Instances.BEGIN と Instances.END を使用してカレンダーに表示するものを決定するため、これは重要です。
これが私の更新コードです:
ContentResolver cr = getContentResolver();
ContentValues values = new ContentValues();
values.put (Events.CALENDAR_ID, calendarId);
values.put (Events.TITLE, title);
values.put (Events.DTEND, eventEnd.getTimeInMillis());
String where = "_id =" + eventId +
" and " + CALENDAR_ID + "=" + calendarId;
int count = cr.update (Events.CONTENT_URI, values, where, null);
if (count != 1)
throw new IllegalStateException ("more than one row updated");
ありがとう。