Android Calendar Provider: существует ли уникальный идентификатор событий, который можно использовать на нескольких устройствах?

Я использую Android Calendar Provider для отображения событий. Я также связываю события с изображениями из локальной базы данных приложений, используя EVENT_ID события в качестве ссылки.

Теперь мне интересно, можно ли хранить одну и ту же ссылку на нескольких устройствах?

Я понимаю, что для account_type = 'com.google', GoogleCalendarSyncAdapter использует CalendarContract.EventsColumns.SYNC_DATA1 для хранения googleID этого события. Однако кажется, что это не надежный способ доступа к данным, поскольку использование столбцов SYNC_DATA может измениться в любое время и может быть изменено только с помощью SyncAdapter.

Есть ли другой способ, которым я могу хранить ссылку на событие поставщика календаря на разных устройствах?

Solutions Collecting From Web of "Android Calendar Provider: существует ли уникальный идентификатор событий, который можно использовать на нескольких устройствах?"

Встраивание идентификаторов изображений в ваши мероприятия

Некоторое время назад у меня была аналогичная проблема с CalendarContract, и я решил ее, вставив уникальный тег UID в текст описания события. Клиенты будут анализировать этот тег и получать общий UID. Этот идентификатор создается на одном из клиентов, используя класс UUID Java. Однако в моем случае я больше интересовался идентификацией событий, созданных с моим приложением.

В вашем случае я предполагаю, что ссылки на ваши базы данных изображений являются стабильными идентификаторами, которые совместимы во всех установках приложений. Вы можете вставить тег в текст описания события, который ссылается на изображение из вашей БД, например:

<myapp:imgid_1234> 

В качестве альтернативы вы также можете добавить к вашему мероприятию специального участника «типа ресурса», который добавит ссылку на изображение к событию: imgid_1234@yourappname.com . Этот параметр сохранит описание события в чистоте и может уменьшить случайное удаление через пользователя.