5

我正在编写一个具有联系人同步功能的社交网络应用程序。我有工作代码(来自我在此处找到的示例)在同步适配器中插入 v2.x 上的联系人。

但是,摩托罗拉 Blur 软件无法识别 2.x 联系人(我使用的是基于 Droid X 的 2.2 Moto 版本)。Blur 使用联系人 1.x API,但我无法找到/理解如何使用它的示例。 此页面显示如何按名称查询,但我想 a)添加和 b)按自定义帐户(或可能的 MIME)类型查询。

我正在使用的 v2 代码创建一个新的原始联系人,创建一个“StructuredName”数据记录,然后创建一个自定义 MIME 类型的数据记录。

如何在 1.x API(级别 3)上进行等效操作?我认为这就是 Contacts.Extensions 类的用途,但文档充其量是不清楚的。

4

2 回答 2

1

摩托罗拉 BLUR 对联系人的修改更多地与设备上的帐户管理方式有关,而与内容提供商的更改无关。使用摩托罗拉 BLUR 设备时的真正问题是您需要将 和 设置为ACCOUNT_NAMEACCOUNT_TYPE设备配合得很好的值。

摩托罗拉不是唯一存在此问题的设备,因为在我的工作中,我发现其他设备的联系人应用程序无法很好地处理添加到设备上自定义帐户的记录。

在设置过程中,您必须确定您正在运行的设备类型,然后确定您将使用哪个帐户来存储您的联系人。我发现三星 Galaxy、HTC Sense 设备和 MOTOBLUR 设备的例外情况,使用自定义联系人帐户不允许您在联系人应用程序中使用您的联系人(例如,您可以添加他们,但不能编辑或无法向您的帐户插入新记录)。

我无法共享代码,因为它属于我的工作,但我可以告诉您,如果您在 MOTOBLUR 设备上为您的联系人使用以下帐户,它将起作用。Verizon 上的摩托罗拉设备有一个备份助手帐户,效果很好,其他方面我使用默认的 BLUR 帐户,它似乎很好用。

在设备上查找类型和名称为“电话”的帐户com.motorola.android.buacontactadapter 并使用它。如果不存在,请查找该类型的帐户com.motorola.blur.service.bsutils.MOTHER_USER_CREDS_TYPE并使用它(无论其名称是什么),您都将在摩托罗拉设备上进行设置。

如果您分享一些代码或指向您引用的示例的链接,我很乐意深入研究。

于 2011-09-21T14:33:00.157 回答
1

要解决您的问题的结尾:

此基础结构仅支持 2.x 联系人结构,即他们引入它的时候。

1.X 设备上的 OEM 联系人应用程序可能会或可能不会类似地工作。

于 2011-10-13T10:59:35.737 回答