Подтвердить что ты не робот

Как подключить личные данные к событию календаря Android

Как добавить дополнительные данные в событие календаря, например файлы, фотографии, простую строку и т.д.,

Я использовал расширенные свойства и мог вставлять некоторые дополнительные данные через расширенные свойства

Uri extendedProperties=Uri.parse("content://com.android.calendar/extendedproperties");
ContentValues extendedValues=new ContentValues();
extendedValues.put("event_id", id);
extendedValues.put("name",key);
extendedValues.put("value",value);
getApplicationContext().getContentResolver().insert(extendedProperties, extendedValues);

а затем можно получить данные, как показано ниже

Uri extentdedProperties=Uri.parse("content://com.android.calendar/extendedproperties");
CursorextendedPropertires Cursor=getContentResolver().query(extentdedProperties,null,"event_id = "+Id +",null,null);

Он отлично работает с Android 2.2. Тот же код, если он протестирован в android 4.0 (сэндвич с мороженым). Это говорит о том, что только адаптеры синхронизации могут получить доступ к контенту://com.android.calendar/extendedproperties.

Итак, я вывел запрос как "callerissyncadapter". Теперь я могу вставить расширенные свойства. Но как только событие синхронизируется с сервером, расширенные свойства удаляются сервером.

Даже эти расширенные свойства не полностью поддерживаются поставщиками календаря (кроме Google)

Есть ли способ добавить некоторые дополнительные данные в событие календаря, отличное от extendedproperties, или мы сможем использовать эти расширенные свойства более эффективным способом.

4b9b3361

Ответ 1

Не используйте callerissyncadapter, если вы действительно не являетесь адаптером синхронизации. Установка этого значения в значение true приведет к тому, что наблюдатели на устройстве не будут уведомлены об изменениях в содержании этого поставщика и ваши изменения не будут сохраняться на сервере.

Почему вы пытаетесь это сделать? Вы пытаетесь связать некоторые данные для своего приложения с календарным событием?

Если да, почему бы не создать собственное хранилище личных данных (или контент-провайдера) с вашим приложением и не индексировать дополнительные свойства по ключу событий в поставщике содержимого календаря? Таким образом, у вас есть связь между данными вашего приложения и данными поставщика контента общих контактов.