联系人信息导入方法、装置及设备的制作方法
【专利摘要】本公开是关于一种联系人信息导入方法、装置及设备,属于终端【技术领域】。方法包括:获取待导入的联系人信息;判断本地通讯录中的任一联系人信息表项中是否均未包含联系人信息中的第一类信息;如果本地通讯录中的任一联系人信息表项中均未包含联系人信息中的第一类信息,则将联系人信息导入本地通讯录中;如果本地通讯录中的一联系人信息表项中包含联系人信息中的第一类信息,则根据联系人信息中的第二类信息更新本地通讯录。由于在进行联系人信息导入时,根据第一类信息和第二类信息对重复联系人信息进行了过滤,可保证通讯录中不存在重复的联系人信息,避免通讯录因重复的联系人信息而过于庞大,降低了用户的操作时间。
【专利说明】联系人信息导入方法、装置及设备
【技术领域】
[0001] 本公开涉及终端【技术领域】,特别涉及一种联系人信息导入方法、装置及设备。
【背景技术】
[0002] 在基于Android(安卓)系统的智能终端中,存在一个开源项目android-vcard, 可实现对联系人的导入导出。其中,vcard规范容许公开交换Η)Ι (Personal Data Interchange,个人数据交换)信息,被广泛应用于电子名片等使用场景中。
[0003] 相关技术在导入联系人信息至本地通讯录时,首先获取vCard报文数据;之后, 利用vCardEntry函数对vCard报文数据进行解析,得到待导入的联系人数据;接下来, 利用vCardEntryHandler函数解析联系人数据,构造新建联系人信息表项;最后,通过 ContactProvider函数将新建联系人信息表项插入到本地通讯录中。
[0004] 在实现本公开的过程中,发明人发现相关技术至少存在以下问题:
[0005] 在通过android-vcard导入联系人时,即使本地通讯录中已经存在一个信息与新 建联系人信息表项完全重复的联系人列表,依然会将该新建联系人信息表项插入到本地通 讯录中,这样会存在本地通讯录中出现重复联系人的缺陷。
【发明内容】
[0006] 为克服相关技术中存在的问题,本公开提供一种联系人信息导入方法、装置及设 备。
[0007] 根据本公开实施例的第一方面,提供一种联系人信息导入方法,所述方法包括:
[0008] 获取待导入的联系人信息;
[0009] 判断本地通讯录中的任一联系人信息表项中是否均未包含所述联系人信息中的 第一类信息,所述联系人信息表项为所述本地通讯录中可供填写联系人信息的表项;
[0010] 如果所述本地通讯录中的任一联系人信息表项中均未包含所述联系人信息中的 第一类信息,则将所述联系人信息导入所述本地通讯录中;
[0011] 如果所述本地通讯录中的一联系人信息表项中包含所述联系人信息中的第一类 信息,则根据所述联系人信息中的第二类信息更新所述本地通讯录。
[0012] 可选地,所述联系人信息中的第一类信息包括联系人姓名和联系人号码;
[0013] 所述判断本地通讯录中的任一联系人信息表项中是否均未包含所述联系人信息 中的第一类信息,包括:
[0014] 对于所述本地通讯录中的一个联系人信息表项,判断所述第一类信息中的联系人 姓名是否与所述联系人信息表项中记录的姓名不一致;
[0015] 判断所述第一类信息中的联系人号码是否与所述联系人信息表项中记录的号码 不一致;
[0016] 当所述第一类信息中的联系人姓名和联系人号码与所述本地通讯录中任一联系 人信息表项中记录的姓名和号码均不一致时,确定所述本地通讯录中的任一联系人信息表 项中均未包含所述联系人信息中的第一类信息。
[0017] 可选地,所述根据所述联系人信息中的第二类信息更新所述本地通讯录,包括:
[0018] 判断相似联系人信息表项中是否包含所述第二类信息,所述相似联系人信息表项 为所述本地通讯录中包含所述第一类信息的联系人信息表项;
[0019] 如果所述相似联系人信息表项中包含所述第二类信息中的部分信息,则将所述第 二类信息中的未包含联系人信息添加到所述相似联系人信息表项中,完成对所述相似联系 人信息表项的更新。
[0020] 可选地,所述判断所述相似联系人信息表项中是否包含所述第二类信息之后,所 述方法还包括:
[0021] 如果所述相似联系人信息表项中包含所述第二类信息中的全部信息,则将所述待 导入联系人的特征信息删除。
[0022] 可选地,所述将所述联系人信息导入所述本地通讯录中,包括:
[0023] 如果所述本地通讯录中的联系人信息表项按照联系人姓名进行顺序排列,则根据 所述联系人信息中包含的联系人姓名在所述本地通讯录中选取第一插入位置,在将所述联 系人信息整合成信息表项后,将新得到的信息表项插入到所述第一插入位置;或,
[0024] 如果所述本地通讯录中的联系人信息表项按照联系人号码进行顺序排列,则根据 所述联系人信息中包含的联系人号码在所述本地通讯录中选取第二插入位置,在将所述联 系人信息整合成信息表项后,将新得到的信息表项插入到所述第二插入位置。
[0025] 根据本公开实施例的第二方面,提供一种联系人信息导入装置,所述装置包括:
[0026] 获取模块,用于获取待导入的联系人信息;
[0027] 判断模块,用于判断本地通讯录中的任一联系人信息表项中是否均未包含所述联 系人信息中的第一类信息,所述联系人信息表项为所述本地通讯录中可供填写联系人信息 的表项;
[0028] 导入模块,用于当所述本地通讯录中的任一联系人信息表项中均未包含所述联系 人信息中的第一类信息时,将所述联系人信息导入所述本地通讯录中;
[0029] 更新模块,用于当所述本地通讯录中的一联系人信息表项中包含所述联系人信息 中的第一类信息时,根据所述联系人信息中的第二类信息更新所述本地通讯录。
[0030] 可选地,所述联系人信息中的第一类信息包括联系人姓名和联系人号码,所述判 断模块,包括:
[0031] 第一判断子模块,用于对于所述本地通讯录中的一个联系人信息表项,判断所述 第一类信息中的联系人姓名是否与所述联系人信息表项中记录的姓名不一致;
[0032] 第二判断子模块,用于判断所述第一类信息中的联系人号码是否与所述联系人信 息表项中记录的号码不一致;
[0033] 确定子模块,用于当所述第一类信息中的联系人姓名和联系人号码与所述联系人 信息表项中记录的姓名和号码均不一致时,确定所述本地通讯录中的任一联系人信息表项 中均未包含所述联系人信息中的第一类信息。
[0034] 可选地,所述更新模块,用于判断相似联系人信息表项中是否包含所述第二类信 息,所述相似联系人信息表项为所述本地通讯录中包含所述第一类信息的联系人信息表 项;当所述相似联系人信息表项中包含所述第二类信息中的部分信息时,将所述第二类信 息中的未包含联系人信息添加到所述相似联系人信息表项中,完成对所述相似联系人信息 表项的更新。
[0035] 可选地,所述装置还包括:
[0036] 删除模块,用于当所述相似联系人信息表项中包含所述第二类信息中的全部信息 时,将所述待导入联系人的特征信息删除。
[0037] 可选地,所述导入模块,包括:
[0038] 第一导入子模块,用于当所述本地通讯录中的联系人信息表项按照联系人姓名进 行顺序排列时,根据所述联系人信息中包含的联系人姓名在所述本地通讯录中选取第一插 入位置,在将所述联系人信息整合成信息表项后,将新得到的信息表项插入到所述第一插 入位置;
[0039] 第二导入子模块,用于当所述本地通讯录中的联系人信息表项按照联系人号码进 行顺序排列时,根据所述联系人信息中包含的联系人号码在所述本地通讯录中选取第二插 入位置,在将所述联系人信息整合成信息表项后,将新得到的信息表项插入到所述第二插 入位置。
[0040] 根据本公开实施例的第三方面,提供一种联系人信息导入设备,所述设备包括:
[0041] 处理器;
[0042] 用于存储处理器可执行指令的存储器;
[0043] 其中,所述处理器被配置为:获取待导入的联系人信息;判断本地通讯录中的任 一联系人信息表项中是否均未包含所述联系人信息中的第一类信息,所述联系人信息表项 为所述本地通讯录中可供填写联系人信息的表项;如果所述本地通讯录中的任一联系人信 息表项中均未包含所述联系人信息中的第一类信息,则将所述联系人信息导入所述本地通 讯录中;如果所述本地通讯录中的一联系人信息表项中包含所述联系人信息中的第一类信 息,则根据所述联系人信息中的第二类信息更新所述本地通讯录。
[0044] 本公开的实施例提供的技术方案可以包括以下有益效果:
[0045] 在获取待导入的联系人信息后,判断本地通讯录中的任一联系人信息表项中是否 包含联系人信息中的第一类信息;如果本地通讯录中的任一联系人信息表项中均未包含联 系人信息中的第一类信息,则将联系人信息导入本地通讯录中;如果本地通讯录中的一联 系人信息表项中包含联系人信息中的第一类信息,则根据联系人信息中的第二类信息更新 本地通讯录。由于在进行联系人信息导入时,根据第一类信息和第二类信息对重复联系人 信息进行了过滤,所以可保证本地通讯录中不存在重复的联系人信息,避免本地通讯录因 重复的联系人信息而过于庞大,降低了用户操作本地通讯录的时间,便于用户在本地通讯 录中执行联系人查询等操作。
[0046] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不 能限制本公开。
【专利附图】
【附图说明】
[0047] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施 例,并与说明书一起用于解释本发明的原理。
[0048] 图1是根据一示例性实施例示出的一种联系人信息导入方法的流程图。
[0049] 图2是根据一示例性实施例示出的一种联系人信息导入方法的流程图。
[0050] 图3是根据一示例性实施例示出的一种联系人信息导入装置的框图。
[0051] 图4是根据一示例性实施例示出的一种联系人信息导入设备的框图。
【具体实施方式】
[0052] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及 附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例 中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附 权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0053] 图1是根据一示例性实施例示出的一种联系人信息导入方法的流程图,如图1所 示,该联系人信息导入方法用于终端中,包括以下步骤。
[0054] 在步骤101中,获取待导入的联系人信息。
[0055] 在步骤102中,判断本地通讯录中的任一联系人信息表项中是否均未包含该联系 人信息中的第一类信息,联系人信息表项为本地通讯录中可供填写联系人信息的表项。如 果本地通讯录中的任一联系人信息表项中均未包含联系人信息中的第一类信息,则执行下 述步骤103。如果本地通讯录中的一联系人信息表项中包含联系人信息中的第一类信息,则 执行下述步骤104。
[0056] 在步骤103中,将联系人信息导入本地通讯录中。
[0057] 在步骤104中,根据联系人信息中的第二类信息更新本地通讯录。
[0058] 本公开实施例提供的方法,在获取待导入的联系人信息后,判断本地通讯录中的 任一联系人信息表项中是否包含联系人信息中的第一类信息;如果本地通讯录中的任一 联系人信息表项中均未包含联系人信息中的第一类信息,则将联系人信息导入本地通讯录 中;如果本地通讯录中的一联系人信息表项中包含联系人信息中的第一类信息,则根据联 系人信息中的第二类信息更新本地通讯录。由于在进行联系人信息导入时,根据第一类信 息和第二类信息对重复联系人信息进行了过滤,所以可保证本地通讯录中不存在重复的联 系人信息,避免本地通讯录因重复的联系人信息而过于庞大,降低了用户操作本地通讯录 的时间,便于用户在本地通讯录中执行联系人查询等操作。
[0059] 可选地,联系人信息中的第一类信息包括联系人姓名和联系人号码;
[0060] 判断本地通讯录中的任一联系人信息表项中是否均未包含联系人信息中的第一 类信息,包括:
[0061] 对于本地通讯录中的一个联系人信息表项,判断第一类信息中的联系人姓名是否 与联系人信息表项中记录的姓名不一致;
[0062] 判断第一类信息中的联系人号码是否与联系人信息表项中记录的号码不一致;
[0063] 当第一类信息中的联系人姓名和联系人号码与本地通讯录中任一联系人信息表 项中记录的姓名和号码均不一致时,确定本地通讯录中的任一联系人信息表项中均未包含 联系人信息中的第一类信息。
[0064] 可选地,根据联系人信息中的第二类信息更新本地通讯录,包括:
[0065] 判断相似联系人信息表项中是否包含第二类信息,相似联系人信息表项为本地通 讯录中包含第一类信息的联系人信息表项;
[0066] 如果相似联系人信息表项中包含第二类信息中的部分信息,则将第二类信息中的 未包含联系人信息添加到相似联系人信息表项中,完成对相似联系人信息表项的更新。 [0067] 可选地,判断相似联系人信息表项中是否包含第二类信息之后,该方法还包括:
[0068] 如果相似联系人信息表项中包含第二类信息中的全部信息,则将待导入联系人的 特征信息删除。
[0069] 可选地,将联系人信息导入本地通讯录中,包括:
[0070] 如果本地通讯录中的联系人信息表项按照联系人姓名进行顺序排列,则根据联系 人信息中包含的联系人姓名在本地通讯录中选取第一插入位置,在将联系人信息整合成信 息表项后,将新得到的信息表项插入到第一插入位置;或,
[0071] 如果本地通讯录中的联系人信息表项按照联系人号码进行顺序排列,则根据联系 人信息中包含的联系人号码在本地通讯录中选取第二插入位置,在将联系人信息整合成信 息表项后,将新得到的信息表项插入到第二插入位置。
[0072] 上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再 --赘述。
[0073] 图2是根据一示例性实施例示出的一种联系人信息导入方法的流程图。该联系人 信息导入方法基于android-vcard联系人导入策略。如图2所不,该联系人信息导入方法 用于终端中,包括以下步骤。
[0074] 在步骤201中,获取待导入的联系人信息。
[0075] 其中,待导入的联系人信息包括但不限于待导入联系人的电话号码、姓名、家庭住 址、单位地址、职位信息、邮箱等等。本公开实施例对待导入的联系人信息包括的内容不进 行具体限定。
[0076] 在本公开实施例中,在获取待导入的联系人信息时,可通过下述方式实现:
[0077] 获取 vCard 报文数据;利用 vCardEntry 函数和 vCardEntryHandler 函数对 vCard 报文数据进行解析,得到待导入的联系人信息。
[0078] 当然,除上述获取待导入的联系人信息的方式外,还可采取其他获取方式,本 公开实施例对此不作具体限定。此外,获取vCard报文数据,利用vCardEntry函数和 vCardEntryHandler函数对vCard报文数据进行解析的具体实现方式可参考现有技术,此 处不再赘述。
[0079] 在步骤202中,判断本地通讯录中的任一联系人信息表项中是否均未包含该联系 人信息中的第一类信息,联系人信息表项为本地通讯录中可供填写联系人信息的表项。如 果本地通讯录中的任一联系人信息表项中均未包含该联系人信息中的第一类信息,则执行 下述步骤203。如果本地通讯录中的一联系人信息表项中包含该联系人信息中的第一类信 息,则执行下述步骤204。
[0080] 其中,第一类信息中包括联系人姓名和联系人号码。当然,第一类信息中除包括上 述联系人姓名和联系人号码外,还可包括其他联系人信息,本公开实施例对此不进行具体 限定。本公开实施例仅以第一类信息中包括联系人姓名和联系人号码为例进行举例说明。 其中,联系人信息表项为本地通讯录中可供填写联系人信息的表项,也即指代本地通讯录 中记录各个联系人信息的条目,通常一个联系人的所有信息以表的形式显示在本地通讯录 中。联系人信息表项的形式可如下述表1所示。在本地通讯录中,在通讯录首页通常仅显 示各个联系人的姓名、或联系人的姓名和号码,当点击某一联系人的姓名所在位置时,可进 入到对应联系人信息表项所在页面,也即进入联系人的信息详情页面。
[0081] 表 1
[0082]
【权利要求】
1. 一种联系人信息导入方法,其特征在于,所述方法包括: 获取待导入的联系人信息; 判断本地通讯录中的任一联系人信息表项中是否均未包含所述联系人信息中的第一 类信息,所述联系人信息表项为所述本地通讯录中可供填写联系人信息的表项; 如果所述本地通讯录中的任一联系人信息表项中均未包含所述联系人信息中的第一 类信息,则将所述联系人信息导入所述本地通讯录中; 如果所述本地通讯录中的一联系人信息表项中包含所述联系人信息中的第一类信息, 则根据所述联系人信息中的第二类信息更新所述本地通讯录。
2. 根据权利要求1所述的方法,其特征在于,所述联系人信息中的第一类信息包括联 系人姓名和联系人号码; 所述判断本地通讯录中的任一联系人信息表项中是否均未包含所述联系人信息中的 第一类信息,包括: 对于所述本地通讯录中的一个联系人信息表项,判断所述第一类信息中的联系人姓名 是否与所述联系人信息表项中记录的姓名不一致; 判断所述第一类信息中的联系人号码是否与所述联系人信息表项中记录的号码不一 致; 当所述第一类信息中的联系人姓名和联系人号码与所述本地通讯录中任一联系人信 息表项中记录的姓名和号码均不一致时,确定所述本地通讯录中的任一联系人信息表项中 均未包含所述联系人信息中的第一类信息。
3. 根据权利要求1所述的方法,其特征在于,所述根据所述联系人信息中的第二类信 息更新所述本地通讯录,包括: 判断相似联系人信息表项中是否包含所述第二类信息,所述相似联系人信息表项为所 述本地通讯录中包含所述第一类信息的联系人信息表项; 如果所述相似联系人信息表项中包含所述第二类信息中的部分信息,则将所述第二类 信息中的未包含联系人信息添加到所述相似联系人信息表项中,完成对所述相似联系人信 息表项的更新。
4. 根据权利要求3所述的方法,其特征在于,所述判断所述相似联系人信息表项中是 否包含所述第二类信息之后,所述方法还包括: 如果所述相似联系人信息表项中包含所述第二类信息中的全部信息,则将所述待导入 联系人的特征信息删除。
5. 根据权利要求1所述的方法,其特征在于,所述将所述联系人信息导入所述本地通 讯录中,包括: 如果所述本地通讯录中的联系人信息表项按照联系人姓名进行顺序排列,则根据所述 联系人信息中包含的联系人姓名在所述本地通讯录中选取第一插入位置,在将所述联系人 信息整合成信息表项后,将新得到的信息表项插入到所述第一插入位置;或, 如果所述本地通讯录中的联系人信息表项按照联系人号码进行顺序排列,则根据所述 联系人信息中包含的联系人号码在所述本地通讯录中选取第二插入位置,在将所述联系人 信息整合成信息表项后,将新得到的信息表项插入到所述第二插入位置。
6. -种联系人信息导入装置,其特征在于,所述装置包括: 获取模块,用于获取待导入的联系人信息; 判断模块,用于判断本地通讯录中的任一联系人信息表项中是否均未包含所述联系人 信息中的第一类信息,所述联系人信息表项为所述本地通讯录中可供填写联系人信息的表 项; 导入模块,用于当所述本地通讯录中的任一联系人信息表项中均未包含所述联系人信 息中的第一类信息时,将所述联系人信息导入所述本地通讯录中; 更新模块,用于当所述本地通讯录中的一联系人信息表项中包含所述联系人信息中的 第一类信息时,根据所述联系人信息中的第二类信息更新所述本地通讯录。
7. 根据权利要求6所述的装置,其特征在于,所述联系人信息中的第一类信息包括联 系人姓名和联系人号码; 所述判断模块,包括: 第一判断子模块,用于对于所述本地通讯录中的一个联系人信息表项,判断所述第一 类信息中的联系人姓名是否与所述联系人信息表项中记录的姓名不一致; 第二判断子模块,用于判断所述第一类信息中的联系人号码是否与所述联系人信息表 项中记录的号码不一致; 确定子模块,用于当所述第一类信息中的联系人姓名和联系人号码与所述本地通讯录 中任一联系人信息表项中记录的姓名和号码均不一致时,确定所述本地通讯录中的任一联 系人信息表项中均未包含所述联系人信息中的第一类信息。
8. 根据权利要求6所述的装置,其特征在于,所述更新模块,用于判断相似联系人信息 表项中是否包含所述第二类信息,所述相似联系人信息表项为所述本地通讯录中包含所述 第一类信息的联系人信息表项;当所述相似联系人信息表项中包含所述第二类信息中的部 分信息时,将所述第二类信息中的未包含联系人信息添加到所述相似联系人信息表项中, 完成对所述相似联系人信息表项的更新。
9. 根据权利要求8所述的装置,其特征在于,所述装置还包括: 删除模块,用于当所述相似联系人信息表项中包含所述第二类信息中的全部信息时, 将所述待导入联系人的特征信息删除。
10. 根据权利要求6所述的装置,其特征在于,所述导入模块,包括: 第一导入子模块,用于当所述本地通讯录中的联系人信息表项按照联系人姓名进行顺 序排列时,根据所述联系人信息中包含的联系人姓名在所述本地通讯录中选取第一插入位 置,在将所述联系人信息整合成信息表项后,将新得到的信息表项插入到所述第一插入位 置; 第二导入子模块,用于当所述本地通讯录中的联系人信息表项按照联系人号码进行顺 序排列时,根据所述联系人信息中包含的联系人号码在所述本地通讯录中选取第二插入位 置,在将所述联系人信息整合成信息表项后,将新得到的信息表项插入到所述第二插入位 置。
11. 一种联系人信息导入设备,其特征在于,所述设备包括: 处理器; 用于存储处理器可执行指令的存储器; 其中,所述处理器被配置为:获取待导入的联系人信息;判断本地通讯录中的任一联 系人信息表项中是否均未包含所述联系人信息中的第一类信息,所述联系人信息表项为所 述本地通讯录中可供填写联系人信息的表项;如果所述本地通讯录中的任一联系人信息表 项中均未包含所述联系人信息中的第一类信息,则将所述联系人信息导入所述本地通讯录 中;如果所述本地通讯录中的一联系人信息表项中包含所述联系人信息中的第一类信息, 则根据所述联系人信息中的第二类信息更新所述本地通讯录。
【文档编号】H04M1/2745GK104284019SQ201410492401
【公开日】2015年1月14日 申请日期:2014年9月24日 优先权日:2014年9月24日
【发明者】续丽娜, 赵振海, 韩伟 申请人:小米科技有限责任公司