Событие календаря сохраняется локально на телефоне, но не может синхронизироваться с Календарем Google

Я пытаюсь добавить календарь по следующему коду. Созданное событие может быть прочитано приложениями календаря на моем телефоне,но просто синхронизируйте с онлайн-календарем Google. Может ли кто-нибудь дать мне несколько хитов, чтобы решить проблему?

вот некоторые замечания 1. Код запускался на моем реальном телефоне (Galaxy Nexus 4.1.1 )2. Все остальные события календаря могут синхронизироваться с Календарем Google, только добавленная программа -не может быть синхронизирована.

---обновление---

Когда я меняю следующий код

values.put(CalendarContract.Events.SYNC_EVENTS,1);
values.put(CalendarContract.Events.VISIBLE, 1);

-- Я получаю сообщение об ошибке

java.lang.IllegalArgumentException: Only the provider may write to sync_events

    public void addEvent() {

    long startMillis = 0;
    long endMillis = 0;

    Log.v("LOG", "entered addEvent");


    //Calendar beginTime = Calendar.getInstance();
    //beginTime.set(2012, 8, 11, 22, 0);
    //startMillis = beginTime.getTimeInMillis();
    startMillis = System.currentTimeMillis() + (3600 * 1000)*4;

    //Calendar endTime = Calendar.getInstance();
    //endTime.set(2012, 8, 11, 23, 0);
    //endMillis = endTime.getTimeInMillis();
    endMillis = System.currentTimeMillis() + (3600 * 1000)*5;

    ContentResolver cr = getContentResolver();
    ContentValues values = new ContentValues();

    values.put(CalendarContract.Events.DTSTART, startMillis);
    values.put(CalendarContract.Events.DTEND, endMillis);
    values.put(CalendarContract.Events.TITLE, "Dog");
    values.put(CalendarContract.Events.DESCRIPTION, "DogInDESCRIPTION");
    values.put(CalendarContract.Events.CALENDAR_ID, 1);
    values.put(CalendarContract.Events.EVENT_TIMEZONE, "eventTimezone");

    values.put(CalendarContract.Events.SYNC_EVENTS,0);      


    cr.insert(CalendarContract.Events.CONTENT_URI, values);
}
10
задан Steven Hui 12 August 2012 в 12:27
поделиться