如何使用我的 APK 提供的数据为 Android 联系人提供数据

问题描述

我正在寻找的是一些最小示例(或教程),它展示了如何实现能够向手机的 Contact List 提供一些数据的 Android APK(应用程序) (安装 APK 的位置)。

假设我可能有一个包含 NamesPhone_Numbers 以及一些 Additional_Info数据库

我想要实现的是,当 APK 安装在手机上时,用户能够看到相应的 Name,以防万一提到的人打来电话。 此外,NameAdditional_Info 也应出现在相应 Contact List 旁边的Phone_Number 中(与 WhatsApp APK 或 {{3} } APK 确实如此)。

ps:我确实更喜欢 Facebook Messenger,但也会理解 Kotlin 的实现。

解决方法

将联系人添加到 Android 需要应用和批量操作:

  1. 插入新的 RawContact
  2. 向该 Data 插入一个包含 RawContact 项的列表

以下是如何添加具有某些数据的单个联系人的示例:https://developer.android.com/guide/topics/providers/contacts-provider#ContactBasics

但是,在大多数情况下,如果不是很好的做法,插入一个独立的联系人,您应该采取大多数步骤:

  1. 为您的应用创建 ACCOUNT_TYPEACCOUNT_NAME
  2. 创建一个 SyncAdapter / WorkManager,以持续确保您的应用的联系人集与设备上的联系人保持同步
  3. 使用上述 RawContacts / Data
  4. 插入/更新您的 SyncAdapter 及其 WorkManager 项目

以下是一些您应该阅读的有用教程:

确保您了解 Android 中联系人数据库的结构,see here 以获取简单概述。