2

これが数回尋ねられたことは知っていますが、明確な答えはないようです。定期的なイベントの単一のインスタンス (最初に作成したもの) を削除しようとしています。これを行うためにどのアプローチを取るべきかは明確ではありませんが、別の SO 投稿は理にかなっています - Android カレンダーから定期的なイベントのインスタンスを 1 つだけ削除する- 除外日、EXDATE を更新します。

UTC 時間とデフォルトのタイムゾーンの両方でこれを試しました。どちらの場合も戻り値は 1 で、1 行が更新されたことを示しますが、イベント インスタンスは消えません。

            ContentValues event = new ContentValues();
                SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd'T'hhmmss'Z'");
                sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
                String str = sdf.format(beginTime.getTime());
                //TimeZone timeZone = TimeZone.getDefault();
                //event.put("eventTimezone", timeZone.getID());
                event.put("exdate", str);

                int numrows = getContentResolver().update(eventUri, event, "_id=? and calendar_id=?", new String[] {currentAppt.getCaleventid(), currentAppt.getCalendarid()});
                Log.d(TAG, numrows + " rows updated - date was " + str);

問題なくすべてのイベントを削除できるので、カレンダー ID とイベント ID が正しいことはわかっています。1 の戻りカウントは、更新する行を見つけていることも示します。

私は何を間違っていますか?

4

0 に答える 0