2010-06-09 4 views
3

есть ли способ узнать, когда последний раз был изменен контакт? Кажется, я не могу найти переменную. Причина, по которой я спрашиваю, заключается в том, что я хотел бы синхронизировать контакты с моим веб-сервером, и мне не хочется проверять каждый контакт с HTTP-запросом, если он нуждается в обновлении.Последний раз, когда контакт был изменен

Так что я думал проверить дату последнего обновления до даты последней синхронизации.

+0

Никто не знает? Или каким-либо образом я мог узнать, какие контакты были изменены, а какие нет? – Bostjan

ответ

4

Не нашел способ сделать это. Я могу сохранить последнюю дату синхронизации, но не смог проверить, был ли контакт обновлен с тех пор.

РЕДАКТИРОВАТЬ:

контакт имеет ГРЯЗНУЮ флаг, который установлен в 1, если контакт был изменен, и не синхронизированы.

1

В зависимости от ваших потребностей вы также можете самостоятельно кэшировать ContactsContract.Contacts.Entity.VERSION (для разных необработанных контактов, связанных с контактом) и сравнить их с текущими значениями в контентном провайдере Android.

3

Я знаю его старый пост, может помочь другим ... Существует свойство calked CONTACT_LAST_UPDATED_TIMESTAMP, что вы можете использовать: https://developer.android.com/reference/android/provider/ContactsContract.ContactsColumns.html

Timestamp (миллисекунды с начала эпохи), когда этот контакт последнего обновления , Сюда входят обновления ко всем данным, связанным с этим контактом, включая сырые контакты. Любые изменения (включая удаления и вставки) лежащих в основе контактных данных также отражаются в этой временной отметке.

Константа Значение: "contact_last_updated_timestamp"

+0

Когда вы вызываете (или получаете вызов от) контакта, значения в: ContactsContract.Contact.TIMES_CONTACTED, ContactsContract.Contact.LAST_TIME_CONTACTED изменяются. В результате также обновляется CONTACT_LAST_UPDATED_TIMESTAMP. – Gaket

Смежные вопросы