Android 原始联系人行应创建自己的专属聚合联系人行

Posted

技术标签:

【中文标题】Android 原始联系人行应创建自己的专属聚合联系人行【英文标题】:Android raw contact row shall create its own exclusive aggregated contact row 【发布时间】:2021-01-06 05:59:40 【问题描述】:

我想在 android 联系人框架中创建原始联系人,然后创建自己的专属联系人行,此联系人行永远不会被任何其他原始联系人共享,我的原始联系人也不应该与任何其他联系人聚合排。如何做到这一点?

换句话说:

原始联系人聚合联系人行

【问题讨论】:

【参考方案1】:

您需要设置一个sync adapter(1,2),它将定期运行和/或在联系人信息更改时运行,并且当它运行时,它只会确保没有条目在AggregationExceptions 中,将应用的原始联系人链接到任何其他原始联系人。

【讨论】:

同步适配器会自动处理 AggregationExceptions 中的条目还是我必须编写逻辑? 您必须编写它,但应该是简单的逻辑,只需将您在聚合异常表中找到的任何条目修改为“keep-separated”类型即可 知道了,还有一个问题,Android 框架是否将它所做的所有聚合都写入 AggregationExceptions 表中?因为那表的名字有点误导,不是吗? 好问题,我认为可以,但我不确定...您可以通过创建一个具有相同姓名+电话/电子邮件的新联系人来测试它,然后 Android 应该将它与您现有的一,您可以检查它是否出现在聚合异常表中 Android 似乎没有在 AggregationException 表中写入它所做的所有聚合,我在我的设备中验证了它(默认情况下,我的联系人中正在进行大量聚合,我可以在单个联系人,但我的 AggregationException 表中没有显示任何内容,一旦我手动取消链接联系人,它们就会显示在表中)。但是按照您的想法,我可以探测在 raw_contact 表(而不是建议表)中完成的聚合,然后在 AggregationException 表中编写规则。

以上是关于Android 原始联系人行应创建自己的专属聚合联系人行的主要内容,如果未能解决你的问题,请参考以下文章

Pandas groupby 和聚合输出应包括所有原始列(包括未聚合的列)

错误记录Android 分区存储下的 SD 卡应用专属外部存储空间目录访问 ( 需手动创建应用专属外部存储空间目录 )

错误记录Android 分区存储下的 SD 卡应用专属外部存储空间目录访问 ( 需手动创建应用专属外部存储空间目录 )

添加 RawContact 使其聚合到现有联系人

Android 手机联系人是不是有唯一标识符?

如何在Android系统添加联系人