如何在不创建帐户的情况下直接将联系人添加到组?

时间:2010-10-14 09:52:11

标签: java android

我有这些联系人需要直接导入我创建的特定组,其中AFAIK在帐户中添加联系人,在api中似乎被破坏(无法添加其他字段)所以我实现了我的拥有添加帐户的活动。

如何将它们直接添加到群组中?

1 个答案:

答案 0 :(得分:1)

如果您正在谈论Android 2.x,则基于每个帐户存在组。您需要先将联系人添加到帐户,然后才能将其添加到组中。

如果您知道该设备的帐户类型/名称,则可以将其添加到默认的“设备”帐户而不是同步帐户。对于我尝试编写代码的每个制造商来说,这些值都是不同的。您应该能够从accountmanager类中获取这些值的列表。两个值的空值似乎都适用于nexus值,但在我试过的其他所有手机上都无法实现。

这些一般步骤应该有效:

  1. 在您的论坛所在的同一帐户中创建新的原始联系人
  2. 保存联系人(并让其同步)
  3. 为组表中的同一帐户创建您的组(如果它不存在)
  4. 通过在groupmembership表中创建一个条目(这是数据表,使用groupmembership mimetype),将同步的联系人添加到该新组。
  5. 让群组同步。
  6. 警告:至少在Android 2.1中,在将新联系人添加到新组之前,必须先向其添加现有(同步)联系人。如果您不这样做并将新的未同步的联系人添加到新创建的空组中,这些联系人将在下次同步时从手机中消失,并且不会出现在服务器上(您将丢失数据)。我不确定这是一个错误还是仅仅是对当前小组实施的限制。