如何使用我的 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 已安装)。
假设我可能有一个包含Names
和Phone_Numbers
以及一些Additional_Info
的数据库。
我想要实现的是,当 APK 安装在手机上时,用户能够看到相应的 Name
,以防有人提及。
此外,Name
和Additional_Info
也应出现在默认的Contact List
旁边对应的Phone_Number
(与WhatsApp APK 或Facebook Messenger APK 非常相似)。
ps:我更喜欢Kotlin,但也会理解Java 的实现。
【问题讨论】:
【参考方案1】:向Android添加联系人需要apply和批量操作:
-
插入一个新的
RawContact
将Data
项目列表插入RawContact
下面是一个如何添加单个联系人的示例:https://developer.android.com/guide/topics/providers/contacts-provider#ContactBasics
但是,在大多数情况下,如果不是很好的做法,插入独立联系人,您应该采取大多数步骤:
-
为您的应用创建
ACCOUNT_TYPE
和 ACCOUNT_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 密钥
如何使用 Dagger 2 向 MyFirebaseMessagingService 提供数据库,以便我可以在 android 本地存储 fcm 消息