【问题标题】:Android 4.x: Get custom account type listet in contactsAndroid 4.x:在联系人中获取自定义帐户类型列表
【发布时间】:2012-07-06 17:52:36
【问题描述】:

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

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

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

  • AndroidManifest.xml 中需要添加的内容
  • contacts.xml 中需要添加的内容
  • syncadapter.xml 中需要添加的内容
  • 是否需要添加任何代码才能工作?

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

提前致谢

【问题讨论】:

    标签: android android-syncadapter


    【解决方案1】:

    我觉得回答这个问题有点晚了,但我遇到了这个问题,终于解决了。在 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,以下网址中有一个很好的示例:

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

    【讨论】:

    • 谢谢,我试试看。
    • 重要提示:权限必须是:com.android.contacts 而不是你自己的;否则它将无法正常工作。在任何地方都找不到这个。
    【解决方案2】:

    看看这个:

    Edit custom contact in honeycomb

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

    我现在发现有一些文档,例如这里:Blog about social network API

    【讨论】:

    • 嗨赫歇尔,感谢您的回复。我已经阅读了这篇文章,但我没有找到任何提示要向“ContactsAccountType”上的“editContactActivity”和“createContactActivity”属性添加什么。
    • ...我没有发现任何提示要添加到“ContactsAccountType”上的“editContactActivity”和“createContactActivity”属性以调用默认联系人活动。 (抱歉无法在上面编辑我自己的评论...)
    • 我正在挖掘联系人应用程序源,但还没有结果 - 非常难看...... :-( 我刚刚发现必须定义 EditSchema (除其他外),但这似乎还不够。有些东西不见了,但我不知道是什么......
    猜你喜欢
    • 1970-01-01
    • 2012-04-18
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多