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

Posted

技术标签:

【中文标题】如何使用我的 APK 提供的数据向 Android 联系人提供数据【英文标题】:How to feed Android Contacts with data provided from my APK 【发布时间】:2021-05-30 14:09:24 【问题描述】:

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

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

我想要实现的是,当 APK 安装在手机上时,用户能够看到相应的 Name,以防有人提及。 此外,NameAdditional_Info 也应出现在默认的Contact List 旁边对应的Phone_Number(与WhatsApp APK 或Facebook Messenger APK 非常相似)。

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

【问题讨论】:

【参考方案1】:

向Android添加联系人需要apply和批量操作:

    插入一个新的RawContactData 项目列表插入RawContact

下面是一个如何添加单个联系人的示例:https://developer.android.com/guide/topics/providers/contacts-provider#ContactBasics

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

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

这里有一些你应该阅读的有用教程:

https://developer.android.com/training/sync-adapters/creating-sync-adapter https://stephen-chen.medium.com/android-account-sync-adapter-and-contacts-contract-database-983281be4847 https://developer.android.com/guide/topics/providers/contacts-provider

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

【讨论】:

以上是关于如何使用我的 APK 提供的数据向 Android 联系人提供数据的主要内容,如果未能解决你的问题,请参考以下文章

如何向 Android Wear TileService 发送数据

当android studio创建这个apk时,如何在apk中只保留armeabi?

如何保护 Android apk 包中的 rapidapi 密钥

如何将我的 Android 应用程序打包成 .apk?

Android:如何禁用调试以上传 apk

如何使用 Dagger 2 向 MyFirebaseMessagingService 提供数据库,以便我可以在 android 本地存储 fcm 消息