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

标签 java android

我有这个联系人需要直接导入到我创建的特定组,据我所知,在帐户中添加联系人,在 api 中似乎被破坏了(无法添加其他字段)所以我实现了我的自己的 Activity 来添加帐户。

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

最佳答案

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

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

这些一般步骤应该有效:

  1. 在您的群组所在的同一帐户中创建新的原始联系人
  2. 保存联系人(并让它同步)
  3. 在组表中为同一帐户创建您的组(如果不存在)
  4. 通过在 groupmembership 表(这是数据表,使用 groupmembership mimetype)中创建一个条目,将您同步的联系人添加到新组。
  5. 让组同步。

警告:至少从 android 2.1 开始,在您可以将新联系人添加到新组之前,您必须先向其添加现有(已同步)联系人。如果您不这样做并将新的、未同步的联系人添加到新创建的空组中,这些联系人将在下次同步时从手机中消失,并且不会出现在服务器上(您将丢失数据)。我不确定这是错误还是只是当前组实现的限制。

关于java - 如何在不创建帐户的情况下直接将联系人添加到组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3931971/

相关文章:

java - 带有抄写库的 Box OAuth2 API 上的 grant_type 参数无效或参数缺失

java - 如何检查我的 spring Ioc 容器

java - 正则表达式提取点符号前后的数据?

android - Cordova Crosswalk 文件选择没有应用程序可以执行此操作错误

android - 意外的顶级异常 : On Android Studio and not Eclipse

java - cordova平台添加android在JAVA_HOME中出现错误

android - 自定义 simpleCursorAdapter 中的 getLayoutInflater

android-layout - 如何在所有 Activity 上放置注销按钮?

java - 使用反射调用字段上的方法

java - 寻找一种在交通灯中切换信号灯的算法