安卓 4.x : Get custom account type listet in contacts

标签 android android-syncadapter

我正在尝试为 android 编写自己的同步适配器。我正在研究 SDK 中的 Sample Sync Adapter,但它没有记录在案。 我可以让联系人出现在联系人应用程序中。但我无法编辑它们或创建新的。

很难找到有关如何在默认联系人应用程序中列出我自己的帐户类型以供创建或使其可编辑的任何信息。我不想添加 android 已经支持的任何自定义字段和数据。

谁能给我指点有关如何将我的同步适配器集成到默认联系人应用程序(如 exchange 同步)的教程或示例?

  • AndroidManifest.xml需要添加什么
  • contacts.xml需要添加什么
  • syncadapter.xml需要添加什么
  • 是否需要添加任何代码才能正常工作?

顺便说一句:
我不关心低于 ICS 的安卓版本。我到处都读到 2.x 的联系人应用程序不支持此功能,但 3.x 及更高版本支持。 2.x 不在讨论范围内,所以我正在寻找 ICS 方法来实现它。

提前致谢

最佳答案

我觉得现在回答这个问题有点晚了,但我遇到了这个问题,终于解决了。在 android 4.x 中,您只能将联系人添加到 android 中的三种帐户。 1) Google Account, 2) Exchange Account, 3) Writable account,可写是指你的contacts.xml文件应该包含EditSchema标签。您还应该将以下标记添加到您的 list 文件中:

<meta-data android:name="android.provider.CONTACTS_STRUCTURE" android:resource="@xml/contacts" />

关于EditSchema ,以下网址中有一个很好的示例:

http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android-apps/4.0.3_r1/packages/apps/Contacts/tests/res/xml/test_basic_contacts.xml

您只需要复制以上 xml 文件的内容并将其粘贴到您的 contacts.xml 文件中。(如果需要,您可以自定义 xml)一切都完成了!

关于安卓 4.x : Get custom account type listet in contacts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11367289/

相关文章:

android - WorkManager 是否应该与 SyncAdapter 一起使用?

android - Syncadapter 是否在手机的 sleep 模式下被调用?

android - Nativescript doInBackground被抛出并导致OutOfMemory错误

android - Phonegap 构建外部主机

java - 如果存在键,如何从稀疏数组中删除项目

Android 位置不准确

android - 以编程方式设置 ListView 标题大小

Android Sync Adapter 从应用程序和同步选项屏幕中删除添加帐户功能

Android 原生联系人应用程序删除每个帐户联系人

android - 创建一个持续轮询 REST API 数据的 Android 后台服务