Какова альтернатива «Контракту контактов.Контакты.LAST_TIME_CONTACTED»?

#java #android #contacts #android-contacts

Вопрос:

Что я должен использовать вместо ContactsContract.Contacts.LAST_TIME_CONTACTED этого ? Согласно документации, переменная LAST_TIME_CONTACTED была признана устаревшей. Даже это было написано на ContactsContract.class

 /** @deprecated */
@Deprecated
String LAST_TIME_CONTACTED = "last_time_contacted";
 

Поскольку он был устаревшим, то должна быть другая альтернатива. Но почему нет альтернативы? Или почему в документации не было никакой альтернативы?

Эта константа устарела на уровне API 29.
Информация о привязке контактов больше не поддерживается с момента создания версии Android.VERSION_CODES.Q. Этот столбец всегда содержит 0.

В Android Q или более поздней версии также нет альтернативной переменной?

Комментарии:

1. Никаких обновлений от Android по этому поводу не поступало.

Ответ №1:

Альтернативы нет — и это преднамеренно.

Google больше не хочет, чтобы разработчики с разрешением «Контакты» могли получать доступ к данным, связанным с общением между пользователем и его контактами.

Если ваше приложение имеет право на получение разрешений ЖУРНАЛА вызовов или SMS, вы можете определить отметку времени последнего контакта на основе журнала вызовов / истории сообщений. Но эти разрешения не разрешены в Google Play, если только ваше приложение не относится к очень конкретному варианту использования, описанному здесь.