Итак, теперь я знаю, что контакты сохраняются в трех таблицах:
- Таблица контактов.
- Таблица необработанных контактов.
- Таблица данных.
Таблица, которую я использую:
Я использую таблицу данных для чтения пользователей со всеми их телефонными номерами в соответствии с @marmor и благодаря этому ответ .
Что я получил из решения по приведенной выше ссылке:
Используя ответ, предоставленный @marmor в приведенной выше ссылке, я смогзапрос (для всех контактов в телефонной книге) contact_id
, сопоставленный с set of phone numbers
для этого конкретного контакта.
Определение contact_id и набора телефонных номеров:
contact_id
: идентификатор контакта в телефонной книге, который может содержать несколько типов связанных учетных записей.
set of phone numbers
: набор, содержащий всеномера телефонов определенного contact_id.
Проблема:
Допустим, у меня есть два пользователя X и Y:
пользователь xhкак contact_id = 0.
пользователь y имеет contact_id = 1.
Теперь предположим, что у пользователя x есть следующие номера: + 1111-xxx и + 2222-xxx
И предположим, что у пользователя y связаны следующие номера: + 3333-xxx и + 2222-xxx
Теперь я решил сохранить все эти номера в локальной базе данных на телефоне:
case 1:
Если я использовал номера этих пользователей в качестве основного идентификатора для сохранения в базе данных, то + 2222-xxx для пользователя x заменит + 2222-xxx для пользователя y.
case 2:
Если я использовал contact_id в качестве основного идентификатора для сохранения в базе данных, то + 1111-xxx и + 2222-xxx, что соответствует тому же user_id (0)оба будут перезаписаны, поэтому один из них выиграет.
case 3:
Если используется комбинация номер телефона + contact_id в качестве основного идентификатора для сохранения в базе данных, а затем какможет работать, кажется, не очень чистое решение и не стабильный.
Вопрос:
Можно ли получить уникальный идентификатор?Как идентифицировать каждый номер, найденный в contact_id?
Спасибо.