0

解決できない問題があります。イベントを Android カレンダーに挿入することはできましたが、それらを定期的に実行したいと考えています。例えば誕生日の場合。毎年リピートしてほしいです。私はこのコードを持っています:

    final ContentResolver cr = ctx.getContentResolver();
    ContentValues cv = new ContentValues();
    cv.put("calendar_id", calIds[0]);
    cv.put("title", title);

    cv.put("rrule", "FREQ=YEARLY");
    cv.put("description", comment );
    Calendar start = Calendar.getInstance();
    start.set(2012, 0, 2, 8, 0, 0);

    Calendar end = Calendar.getInstance();
    end.set(2012, 0, 2, 9, 0, 0);

    long startTime = start.getTimeInMillis();       
    long endTime = end.getTimeInMillis();

    cv.put("dtstart", startTime);
    cv.put("dtend", endTime);
    //Insertion on the events of the calendar
    cr.insert(Uri.parse("content://com.android.calendar/events"), cv);

それは私のイベントを挿入しますが、それは繰り返されません。つまり、私のイベントは 2012 年 2 月には表示されますが、2013 年 1 月には表示されず、2014 年には表示されません。そこで、電話でカレンダーを開いてイベントを編集しようとしたところ、その発生を選択する必要があることがわかりました。そこでは、カスタマイズする場合のように、「2012 年 1 月 2 日」ではなく「2012 年 1 月 2 日」と表示されます。私の電話からの私のイベント。一方、携帯電話から手動でイベントを追加しようとすると、問題なく機能します (毎年発生するイベントを追加できるということです)。私が気づいたもう 1 つのことは、年を変更すると、たとえば 2012 の代わりに 2010 を入力すると、現在の日付まで毎年イベントが挿入されることです。より正確には、2010 年 1 月 2 日にイベントを挿入します。別の 2jan2011 と 2jan2012 は停止し (今日は 2012 年 1 月 2 日です)、この日付以降、この日付に挿入されるイベントはもうありません。この種の問題を経験した人はいますか?どんな助けでも大歓迎です。ありがとうございました!

4

2 に答える 2

0

どうやら、追加しようとしているイベントは、現在の日付を過ぎて繰り返されることはありません。

カレンダーを使用して、現在の日付を過ぎて繰り返される「テスト」などの特定のタイトルの年次/月次/週次イベントを手動で挿入します。次に、現在カレンダーにあるイベントを読み取る簡単なメソッドを記述します。タイトル「テスト」を確認し、ContentValuesそのイベントの内容をログに記録します。違いを見つけられるかどうかを確認してください。

于 2012-01-13T18:49:41.443 に答える