如何使新联系人从应用程序导出到电话簿为可编辑状态

时间:2019-06-10 08:50:13

标签: android android-contacts android-syncadapter

我有一个应用程序,它具有自己的一组来自服务器的联系人。我将此联系人导出到本机联系人数据库。这样我就可以从电话簿中访问它。但是,我想使这些联系人在本机应用程序中可编辑。

我正在为此使用帐户验证器和syncadapter方法。

下面是我的for i in open('image.png', 'rb').read(): print(r'{0:#x}'.format(i), end=' ') xml

sync-adapter

设置<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android" android:contentAuthority="com.android.contacts" android:supportsUploading="true" android:userVisible="true" android:accountType="com.example.myapp" />

此外,通过将下面的标志设置为 0 ,将原始联系人和数据字段导出为非只读 android:supportsUploading="true" android.provider.ContactsContract.RawContacts.RAW_CONTACT_IS_READ_ONLY

我仍然看不到在本机应用程序中编辑我的联系人的选项。 这里缺少什么?

预先感谢

[更新] 我正在使用下面的代码来检查联系人支持哪种帐户类型,并且该帐户类型是可编辑的。

android.provider.ContactsContract.RawContacts.DATA_IS_READ_ONLY

我的应用帐户类型不是只读的,但仍然看不到编辑选项。请帮助

1 个答案:

答案 0 :(得分:1)

您需要做的几件事:

  1. 实施SyncService并在AndroidManifest上声明
  2. 创建一个contacts.xml文件,联系人编辑器将如何解析和编辑与您的帐户相关的联系人

请参阅: https://github.com/xwiki-contrib/android-authenticator/blob/master/app/src/main/AndroidManifest.xml#L81-L94 https://github.com/xwiki-contrib/android-authenticator/blob/master/app/src/main/res/xml/syncadapter.xml https://github.com/xwiki-contrib/android-authenticator/blob/master/app/src/main/res/xml/contacts.xml

作为示例。