4

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

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

任何人都可以向我提供有关如何将我的同步适配器集成到默认联系人应用程序(如交换同步)的教程或示例吗?

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

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

提前致谢

4

2 回答 2

8

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

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

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

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)一切都完成了!

于 2013-03-28T10:31:24.450 回答
0

看看这个:

在蜂窝中编辑自定义联系人

我之前问过这个问题,我打开了一个赏金来得到答案。答案是,尽管 Honeycomb 中存在该功能,但在任何地方都没有记录。你需要通过代码来学习如何去做。

我现在发现有一些文档,例如这里:关于社交网络 API 的博客

于 2012-07-07T11:15:35.790 回答