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

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

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

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

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

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

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

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

<myapp:imgid_1234> 

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

Intereting Posts
Как я могу проверить, заряжается ли телефон Android Исключить предопределенный ресурс в файле apk Изменение режима мобильной сети (gsm, wcdma, auto) Есть ли способ запустить приложение сразу после установки с помощью некоторого «вспомогательного приложения»? ProGuard и Gson на Android (ClassCastException) Android самый быстрый способ декодировать mp3 в pcm данные Android: Как изменить значок «Главная» ActionBar, чтобы быть чем-то другим, кроме значка приложения? Как протестировать аутентифицированный контент с помощью MediaPlayer на Android Получить информацию о запуске устройства или симулятора для веб-служб SOAP ListView, атрибут id которого является «android.R.id.list» Ошибка при правильном наборе идентификатора ListView Как подключить эмулятор Android к ADB? Android Нажмите LongClickListener, чтобы получить координаты X, Y, OnTouchListener UnknownFormatConversionException в getRelativeTimeSpanString для локального BR Применение темы AppCompat к индивидуальным предпочтениям в PreferenceFragment Как я могу исключить нижний колонтитул ListView?