Нет простого способа получить «новые контакты» в адресной книге. Вместо этого вам придется сделать что-то вроде этого:
- Получить массив всех контактов в адресной книге .
- Прокрутите массив и посмотрите, есть ли контакт в вашей базе данных. ( ПРИМЕЧАНИЕ: Идентификаторы записи могут измениться !)
- Если вы найдете контакт, которого нет в вашей базе данных, добавьте его.
Вероятно, также целесообразно сохранить дату последнего изменения свойства и сравнить его с каждой записью, чтобы вы могли узнать, что-то изменилось в существующей записи.
Наконец, это может занять некоторое время в зависимости от количества контактов, которые есть у пользователя. Это, вероятно, то, что вы хотите сделать, не блокируя пользовательский интерфейс. (Еще одно примечание: типы адресной книги не являются потокобезопасными. Имейте это в виду, если вы работаете в фоновом потоке.)
Пока ваше приложение работает, вы можете зарегистрировать обратный вызов уведомления об изменении адресной книги , чтобы получать уведомления об изменениях, которые происходят во время работы вашего приложения.