重复导入联系人时,android会把相同的联系人放在一个联系人名片夹中,通过编辑联系人界面可以看到。这样可能会带来编辑的bug,同时看着也不爽。
研究了下代码,原来,android导入时,会调用合并的功能。通过设置RawContacts.AGGREGATION_MODE可以达到导入不合并的效果。
RawContacts.AGGREGATION_MODE可以设置为:
RawContacts.AGGREGATION_MODE_DEFAULT;
RawContacts.AGGREGATION_MODE_IMMEDIATE;
RawContacts.AGGREGATION_MODE_SUSPENED;
RawContacts.AGGREGATION_MODE_DISABLED;
(详见android.provider.ContactsContract.java)
在导入联系人时insert的地方(framework/provider/pim/ContactStruct.java/pushIntoContentResolver())加入
builder.withValue(RawContacts.AGGREGATION_MODE, RawContacts.AGGREGATION_MODE_SUSPENDED);