在用户识别卡中存储通讯记录的方法、装置及终端转让专利

申请号 : CN201210292186.3

文献号 : CN103595845B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王鹏人

申请人 : 中兴通讯股份有限公司

摘要 :

本发明公开了一种在用户识别卡中存储通讯记录的方法、装置及终端,所述方法包括:在与用户识别卡中的电话簿联系人进行通讯后,将本次通讯的时间和时长信息依据预定通讯记录格式进行格式化后获取本次通讯记录字节流并进行存储;将所述格式化后的本次通讯记录字节流写入用户识别卡的EF_EXT1文件中,并依照预定的通讯类型标识对本次通讯记录进行归类。采用本发明在用户识别卡上存储联系人通讯记录后,其存储于用户识别卡上的通讯记录可以在不同的手机终端中通用,增加了通讯记录功能的通用性,大大增加了用户体验。

权利要求 :

1.一种在用户识别卡中存储通讯记录的方法,其特征在于,包括:

在与用户识别卡中的电话簿联系人进行通讯后,将本次通讯的时间和时长信息依据预定通讯记录格式进行格式化后获取本次通讯记录字节流并进行存储;

将所述格式化后的本次通讯记录字节流写入用户识别卡的与ADN文件绑定的EF_EXT1文件中,通过每条通讯记录的最后一个字节进行连接索引,并依照预定的通讯类型标识对本次通讯记录进行归类;

当用户更新用户识别卡上的电话簿联系人信息时,则依据更新的字段ID查找用户识别卡的EF_EXT1文件与该字段ID相关的通讯记录,查找到时,则将上一条通讯记录的最后一个字节存储的内容修改为当前这条通讯记录在EF_EXT1文件中的ID值,如果当前这条通讯记录是存储于用户识别卡的EF_EXT1文件中的第一条通讯记录,那么将缩位拨号号码记录ADN文件中这条通讯记录的最后一个字节的内容修改为这条通讯记录在EF_EXT1文件中的ID值。

2.如权利要求1所述的在用户识别卡中存储通讯记录的方法,其特征在于,在执行所有步骤之后,还包括:

当获取到用户发送的联系人通讯记录查看信息时,则申请缓存空间,并逐条读取存储于用户识别卡的EF_EXT1文件之中归类好的且与该电话簿联系人相应的所有通讯记录,并将其存储到缓存空间,之后以列表的形式展示归类好的与该电话簿联系人相应的所有通讯记录。

3.一种在用户识别卡中存储通讯记录的装置,其特征在于,包括:

数据预处理模块,用于在与用户识别卡中的电话簿联系人进行通讯后,将本次通讯的时间和时长信息依据预定通讯记录格式进行格式化后获取本次通讯记录字节流并进行存储;

写入处理模块,用于将所述格式化后的本次通讯记录字节流写入用户识别卡的与ADN文件绑定的EF_EXT1文件中,通过每条通讯记录的最后一个字节进行连接索引,并依照预定的通讯类型标识对本次通讯记录进行归类;

同步信息模块,用于当用户更新用户识别卡上的电话簿联系人信息时,则依据更新的字段ID查找用户识别卡的EF_EXT1文件与该字段ID相关的通讯记录,查找到时,则将上一条通讯记录的最后一个字节存储的内容修改为当前这条通讯记录在EF_EXT1文件中的ID值,如果当前这条通讯记录是存储于用户识别卡的EF_EXT1文件中的第一条通讯记录,那么将缩位拨号号码记录ADN文件中这条通讯记录的最后一个字节的内容修改为这条通讯记录在EF_EXT1文件中的ID值。

4.如权利要求3所述的在用户识别卡中存储通讯记录的装置,其特征在于,还包括:

展示模块,用于当获取到用户发送的联系人通讯记录查看信息时,则申请缓存空间,并逐条读取存储于用户识别卡的EF_EXT1文件之中归类好的且与该电话簿联系人相应的所有通讯记录,并将其存储到缓存空间,之后以列表的形式展示归类好的与该电话簿联系人相应的所有通讯记录。

5.一种终端,其特征在于,包括在用户识别卡中存储通讯记录的装置,其中,所述装置包括:

数据预处理模块,用于在与用户识别卡中的电话簿联系人进行通讯后,将本次通讯的时间和时长信息依据预定通讯记录格式进行格式化后获取本次通讯记录字节流并进行存储;

写入处理模块,用于将所述格式化后的本次通讯记录字节流写入用户识别卡的与ADN文件绑定的EF_EXT1文件中,通过每条通讯记录的最后一个字节进行连接索引,并依照预定的通讯类型标识对本次通讯记录进行归类;

同步信息模块,用于当用户更新用户识别卡上的电话簿联系人信息时,则依据更新的字段ID查找用户识别卡的EF_EXT1文件与该字段ID相关的通讯记录,查找到时,则将上一条通讯记录的最后一个字节存储的内容修改为当前这条通讯记录在EF_EXT1文件中的ID值,如果当前这条通讯记录是存储于用户识别卡的EF_EXT1文件中的第一条通讯记录,那么将缩位拨号号码记录ADN文件中这条通讯记录的最后一个字节的内容修改为这条通讯记录在EF_EXT1文件中的ID值。

6.如权利要求5所述的终端,其特征在于,所述在用户识别卡中存储通讯记录的装置还包括:

展示模块,用于当获取到用户发送的联系人通讯记录查看信息时,则申请缓存空间,并逐条读取存储于用户识别卡的EF_EXT1文件之中归类好的且与该电话簿联系人相应的所有通讯记录,并将其存储到缓存空间,之后以列表的形式展示归类好的与该电话簿联系人相应的所有通讯记录。

说明书 :

在用户识别卡中存储通讯记录的方法、装置及终端

技术领域

[0001] 本发明涉及通讯技术领域,具体而言,涉及一种在用户识别卡中存储通讯记录的方法、装置及终端。

背景技术

[0002] 随着无线通讯技术的不断发展和进步,手机等其他移动终端在满足用户的需求方面,其设计也变得越来越智能化以及人性化,用户在手机应用过程中,可以用最少的操作,来实现更多的功能。为此,各大手机等终端生产厂商都致力于用户体验的提高,从而为用户的生活带来更多的便捷。
[0003] 目前,通讯记录功能已成为手机中不可或缺的一个重要功能。通过此功能,用户可以方便的查看与存储于手机通讯录中的联系人的通讯时间,如:何时与该联系人打过电话、发过短信、发过Email等,该功能的应用可以大大提高手机的易用性和用户体验。
[0004] 运营商向用户提供的用户识别卡(Subscriber Identity Module/User Identity Model,SIM/UIM),用以表示不同终端用户的身份信息,用户通过该用户识别卡及其唯一的号码,同其他联系人建立联系。其中,用户识别卡中用于存储电话簿联系人记录称之为SIM/UIM卡中的ADN(Abbreviated Dialing Number,缩位拨号号码)记录。
[0005] 目前协议中支持的ADN记录结构如下表所示:
[0006]
[0007] 其中,字段A用于存储电话簿联系人记录中联系人的姓名信息;
[0008] 字段B用于存储随后的两个字段C和D的长度信息;
[0009] 字段C用于存储随后的D字段中号码的类型(TON)以及其编码计划标识(NPI);
[0010] 字段D用于存储电话记录中联系人的号码信息;
[0011] 字段E为容量标识;
[0012] 字段F使用一个字节标识延长记录在EF_EXT1文件(0x6F4A)的ID。
[0013] 其中,协议中EF_EXT1文件的结构如下表所示:
[0014]字节 描述 长度
1 记录类型 1byte
2 to 12 扩展数据 11byte
13 延长标识 1byte
[0015] 其中,记录类型为1个字节,这1个字节中的8BIT在协议中的具体描述如下:
[0016]B8 B7 B6 B5 B4 B3 B2 B1
[0017] B1:表示延长记录的子地址,配合延长标识使用,这一位设为1标识存在子地址,设为0标识不存在子地址;
[0018] B2:标识延长记录,这一位设为1标识这条记录为延长记录,设为0标识不是延长记录;
[0019] B3-B8:预留6位,设为0。
[0020] 由于用户识别卡上存储ADN记录结构的限制,导致用户识别卡上联系人无法与手机上联系人进行同样的通讯记录存储。因为在SIM、UIM用户识别卡中用来存储电话簿联系人记录的ADN记录仅仅提供了两个可用于存储联系人信息记录的字段,即名字字段和电话号码字段,因此,目前存储在用户手机用户识别卡中的联系人记录不支持常见的通讯记录功能。
[0021] 现在商用的手机中,有对用户识别卡中电话簿联系人存储通讯记录的机型,然而其实现方案是在手机自身存储器中存储该联系人的通讯记录,用户识别卡中电话簿联系人记录的通讯记录信息是存储在手机上而并非卡上,因此,如果用户频繁换手机时,则之前记录的联系人的通讯记录就会丢失,从而对用户会造成不便,用户体验差。

发明内容

[0022] 为了解决现有技术无法在用户识别卡中存储联系人通讯记录的问题,本发明主要目的在于提供一种在用户识别卡中存储通讯记录的方法、装置及终端。
[0023] 为了达到本发明实施例的目的,其采用以下技术方案实现:
[0024] 一种在用户识别卡中存储通讯记录的方法,包括:
[0025] 在与用户识别卡中的电话簿联系人进行通讯后,将本次通讯的时间和时长信息依据预定通讯记录格式进行格式化后获取本次通讯记录字节流并进行存储;
[0026] 将所述格式化后的本次通讯记录字节流写入用户识别卡的EF_EXT1文件中,并依照预定的通讯类型标识对本次通讯记录进行归类。
[0027] 优选地,将所述格式化后的本次通讯记录字节流写入用户识别卡的EF_EXT1文件中之后,通过每条通讯记录的最后一个字节进行连接索引。
[0028] 优选地,在执行所有步骤之后,所述在用户识别卡中存储通讯记录的方法还包括:
[0029] 当获取到用户发送的联系人通讯记录查看信息时,则申请缓存空间,并逐条读取存储于用户识别卡的EF_EXT1文件之中归类好的且与该电话簿联系人相应的所有通讯记录,并将其存储到缓存空间,之后以列表的形式展示归类好的与该电话簿联系人相应的所有通讯记录。
[0030] 优选地,在执行所有步骤之后,所述在用户识别卡中存储通讯记录的方法还包括:
[0031] 当用户更新用户识别卡上的电话簿联系人信息时,则依据更新的字段ID查找用户识别卡的EF_EXT1文件与该字段ID相关的通讯记录,查找到时,则将上一条通讯记录的最后一个字节存储的内容修改为当前这条通讯记录在EF_EXT1文件中的ID值,如果当前这条通讯记录是存储于用户识别卡的EF_EXT1文件中的第一条通讯记录,那么将缩位拨号号码记录ADN文件中这条通讯记录的最后一个字节的内容修改为这条通讯记录在EF_EXT1文件中的ID值。
[0032] 一种在用户识别卡中存储通讯记录的装置,包括:
[0033] 数据预处理模块,用于在与用户识别卡中的电话簿联系人进行通讯后,将本次通讯的时间和时长信息依据预定通讯记录格式进行格式化后获取本次通讯记录字节流并进行存储;
[0034] 写入处理模块,用于将所述格式化后的本次通讯记录字节流写入用户识别卡的EF_EXT1文件中,并依照预定的通讯类型标识对本次通讯记录进行归类。
[0035] 优选地,所述写入处理模块还用于将所述格式化后的本次通讯记录字节流写入用户识别卡的EF_EXT1文件中之后,通过每条通讯记录的最后一个字节进行连接索引。
[0036] 优选地,所述在用户识别卡中存储通讯记录的装置还包括:
[0037] 展示模块,用于当获取到用户发送的联系人通讯记录查看信息时,则申请缓存空间,并逐条读取存储于用户识别卡的EF_EXT1文件之中归类好的且与该电话簿联系人相应的所有通讯记录,并将其存储到缓存空间,之后以列表的形式展示归类好的与该电话簿联系人相应的所有通讯记录。
[0038] 优选地,所述在用户识别卡中存储通讯记录的装置还包括:
[0039] 同步信息模块,用于当用户更新用户识别卡上的电话簿联系人信息时,则依据更新的字段ID查找用户识别卡的EF_EXT1文件与该字段ID相关的通讯记录,查找到时,则将上一条通讯记录的最后一个字节存储的内容修改为当前这条通讯记录在EF_EXT1文件中的ID值,如果当前这条通讯记录是存储于用户识别卡的EF_EXT1文件中的第一条通讯记录,那么将缩位拨号号码记录ADN文件中这条通讯记录的最后一个字节的内容修改为这条通讯记录在EF_EXT1文件中的ID值。
[0040] 一种终端,包括在用户识别卡中存储通讯记录的装置,其中,所述装置包括:
[0041] 数据预处理模块,用于在与用户识别卡中的电话簿联系人进行通讯后,将本次通讯的时间和时长信息依据预定通讯记录格式进行格式化后获取本次通讯记录字节流并进行存储;
[0042] 写入处理模块,用于将所述格式化后的本次通讯记录字节流写入用户识别卡的EF_EXT1文件中,并依照预定的通讯类型标识对本次通讯记录进行归类。
[0043] 优选地,所述写入处理模块还用于将所述格式化后的本次通讯记录字节流写入用户识别卡的EF_EXT1文件中之后,通过每条通讯记录的最后一个字节进行连接索引。
[0044] 优选地,所述在用户识别卡中存储通讯记录的装置还包括:
[0045] 展示模块,用于当获取到用户发送的联系人通讯记录查看信息时,则申请缓存空间,并逐条读取存储于用户识别卡的EF_EXT1文件之中归类好的且与该电话簿联系人相应的所有通讯记录,并将其存储到缓存空间,之后以列表的形式展示归类好的与该电话簿联系人相应的所有通讯记录。
[0046] 优选地,所述在用户识别卡中存储通讯记录的装置还包括:
[0047] 同步信息模块,用于当用户更新用户识别卡上的电话簿联系人信息时,则依据更新的字段ID查找用户识别卡的EF_EXT1文件与该字段ID相关的通讯记录,查找到时,则将上一条通讯记录的最后一个字节存储的内容修改为当前这条通讯记录在EF_EXT1文件中的ID值,如果当前这条通讯记录是存储于用户识别卡的EF_EXT1文件中的第一条通讯记录,那么将缩位拨号号码记录ADN文件中这条通讯记录的最后一个字节的内容修改为这条通讯记录在EF_EXT1文件中的ID值。
[0048] 通过上述本发明的技术方案可以看出,相较于现有技术,采用本发明在用户识别卡上存储联系人通讯记录后,其存储于用户识别卡上的通讯记录可以在不同的手机终端中通用,增加了通讯记录功能的通用性,大大增加了用户体验。
[0049] 另外,采用本发明可以增加通讯记录数据存储的健壮性,无论用户更换手机终端、恢复出厂设置、还是清除用户数据,只要用户不换卡,就可以随时查看与某个联系人的通讯记录,比如什么时候打过电话,什么时候发过短信,什么时候发过Email等。

附图说明

[0050] 图1为本发明实施例提供的存储用户识别卡联系人通讯记录的流程示意图。
[0051] 图2为本发明实施例提供的通讯记录数据格式化流程示意图。
[0052] 图3为本发明实施例提供的用户识别卡中联系人通讯记录存储流程示意图。
[0053] 图4为本发明实施例提供的用户识别卡中联系人通讯记录同步更新流程示意图。
[0054] 图5为本发明实施例提供的读取用户识别卡中联系人通讯记录流程示意图。
[0055] 图6为本发明实施例提供的在用户识别卡中存储通讯记录的装置的模块关系结构示意图。
[0056] 本发明目的的实现、功能特点及优异效果,下面将结合具体实施例以及附图做进一步的说明。

具体实施方式

[0057] 下面结合附图和具体实施例对本发明所述技术方案作进一步的详细描述,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0058] 本发明实施例提供了一种在用户识别卡中存储通讯记录的方法,其主要包括如下具体步骤:
[0059] S10、在与用户识别卡中的电话簿联系人进行通讯后,将本次通讯的时间和时长信息依据预定通讯记录格式进行格式化后获取本次通讯记录字节流并进行存储;
[0060] S20、将所述格式化后的本次通讯记录字节流写入用户识别卡的EF_EXT1文件中,并依照预定的通讯类型标识对本次通讯记录进行归类。
[0061] 优选实施方式下,在所述步骤S20中,将所述格式化后的本次通讯记录字节流写入用户识别卡的EF_EXT1文件中之后,通过每条通讯记录的最后一个字节进行连接索引。
[0062] 优选实施方式下,在执行所有步骤S10- S20之后,所述在用户识别卡中存储通讯记录的方法还包括:
[0063] S30、当获取到用户发送的联系人通讯记录查看信息时,则申请缓存空间,并逐条读取存储于用户识别卡的EF_EXT1文件之中归类好的且与该电话簿联系人相应的所有通讯记录,并将其存储到缓存空间,之后以列表的形式展示归类好的与该电话簿联系人相应的所有通讯记录。
[0064] 以及,优选实施方式下,在执行所有步骤S10- S20之后,所述在用户识别卡中存储通讯记录的方法还包括:
[0065] S40、当用户更新用户识别卡上的电话簿联系人信息时,则依据更新的字段ID查找用户识别卡的EF_EXT1文件与该字段ID相关的通讯记录,查找到时,则将上一条通讯记录的最后一个字节存储的内容修改为当前这条通讯记录在EF_EXT1文件中的ID值,如果当前这条通讯记录是存储于用户识别卡的EF_EXT1文件中的第一条通讯记录,那么将缩位拨号号码记录ADN文件中这条通讯记录的最后一个字节的内容修改为这条通讯记录在EF_EXT1文件中的ID值。
[0066] 具体实施时,在用户与用户识别卡上的联系人进行通讯(例如电话、短信、Email)后,将本次通讯的时间和时长(短信和Email的时长记为0)用9个字节的cache(高速缓冲存储器)存储,例如存储格式为:
[0067] 年(一个字节)、月(一个字节)、日(一个字节)、时(一个字节)、分(一个字节)、秒(一个字节)、时长(两个字节)、字段ID(一个字节);
[0068] 之后将这9个字节的内容保存到用户识别卡上的EF_EXT1文件中的空记录里,并用EF_EXT1的第一个字节中的第3-第4位作为通讯类型标识以标识通讯类型,例如:如果为通话记录,则标识为01;如果是短信记录,则标识为10;如果为Email记录,则标识为11。
[0069] 并且用EF_EXT1文件的第13个字节来记录该联系人通讯记录在EF_EXT1文件中的下一条记录,如果这条通讯记录是该联系人的第一条通讯记录,则用AND记录的最后一个字节来记录这条记录在EF_EXT1文件里的ID值,从而完成了这个联系人通讯记录的索引串联。在后续用户编辑用户识别卡上的联系人记录时,则同步更新该联系人的通讯记录即可。
[0070] 更为具体的,本发明实施例提供了一种动态存储用户识别卡联系人通讯记录的方法,包括以下步骤:
[0071] 1、在用户与用户识别卡上的联系人进行通讯(电话、短信、Email)后,将本次通讯的时间和时长(短信和Email的时长记为0),产生通讯记录的字段ID用9个字节的cache存储,格式如下表所示:
[0072]年 月 日 时 分 秒 时长 字段ID
1字节 1字节 1字节 1字节 1字节 1字节 2字节 1字节
[0073] 例如:2012年7月6日上午9点45分21秒与用户识别卡上联系人的第一个号码进行了通话,通话时长为5分25秒,那么此时待存入的通讯记录格式为:0C 07 06 09 2D 15 [05 19] 01。
[0074] 2、用EF_EXT1文件第一个字节中的第3-第4位作为通讯类型标识以标识通讯类型,例如:如果为通话记录,则标识为01,如果是短信记录,则标识为10,如果为Email记录,则标识为11。
[0075] 用EF_EXT1文件第一个字节中的第5位-第8位来记录该联系人的通话记录条数,在本实施例中,考虑到通讯记录的时效性,允许每个联系人可以最多存储15条通讯记录,如果存储量已满,那么后续的通讯记录将会覆盖掉最早的一条通讯记录,通讯记录条数的信息只在每个联系人的第一条通讯记录中进行存储。如果这一条通讯记录是该联系人的第一条通讯记录,那么将EF_EXT1文件第一个字节中的第2位设置为1,第一位设置为0,如果不是第一条通讯记录,那么将第一个字节中的第1位设置为1,第二位设置为0。然后将第一步骤中生成的通讯记录数据写入EF_EXT1文件的第2到第10个字节,共9个字节。最后将第13个字节置为FF。
[0076] 例如:用户识别卡中联系人的第一个通讯记录为短信,并且该联系人只有一条通讯记录,那么EF_EXT1文件中的第一个字节应该为:00011010,其中高四位为0001,标识该联系人存在1条通讯记录,EF_EXT1文件第一个字节中的第4-第5位为10,则表示为短信通讯记录,低2位“10”表示为该联系人的第一条通讯记录。
[0077] 3、通过EF_AND文件中该通讯记录的最后一个字节来索引该联系人的通讯记录,因此,本实施例最多支持255条通讯记录。如果EF_AND文件中该通讯记录的最后一个字节为FF,则说明该联系人没有通讯记录,然后查找EF_EXT1文件中为空的位置以写入通讯记录,并将该通讯记录第一个字节的第2位设置为1,然后将该通讯记录最后一个字节设为FF。如果EF_AND文件中该通讯记录的最后一个字节不是FF,则说明该联系人之前已经存在通讯记录,此时读取该最后一个字节的值,这个值就是在EF_EXT1文件中与该联系人相对应的ID值,然后读取EF_EXT1文件该ID的通讯记录,并获取最后一个字节,如果该字节是FF,那么在EF_EXT1中间中找到为空的记录写入通讯记录,并将这一条记录的ID写入上一条通讯记录的最后一个字节。如果该字节不是FF,那么读取最后一个字节的值,该值就是下一条通讯记录在EF_EXT1文件中的ID值,直至找到通讯记录中最后一个字节为FF的记录,然后在EF_EXT1的空记录出写入这一条通讯记录,并将上一条通讯记录的最后一个字节写入当前记录所在的ID。
[0078] 例如:用户识别卡中联系人A有两个号码和一个Email,号码分别是:111111、222222;号码类型分别是:移动电话、家庭电话;Email为:abc@zte.com.cn, 与号码“111111”相关的有一条电话记录,与号码“222222”相关的有一条短信记录,与Email“abc@zte.com.cn”相关的有一条Email记录,那么此时该联系人的ADN记录与EXT1通信记录的关系结构如下:
[0079] ADN记录格式:
[0080]
[0081] EXT1文件格式,在本实施例中,该EXT1文件在卡协议中为线性文件,就是一行一条记录:
[0082]
[0083] 其中,记录类型的1个字节中:0x0a为该联系人的第一条通信记录,该联系人共有3条通信记录,所以高4位存储0011表示3;第1-第2位01表示当前记录不是子记录,但是存在子记录;第3-第4位01表示当前通信记录类型为电话记录,0x0b与0x0c记录以此类推。
[0084] 扩展数据的11个字节中:以0x0a记录为例,第1个字节01表示是号码1产生的通话记录;第2-第3个字节0519表示通话时长5分25秒;第4到第6个字节09 2D 15表示记录生成时间是9:45:21;第7-第8字节0C 07表示12年7月,0x0b与0x0c记录以此类推。
[0085] 延长标识的1个字节中:以0x0a记录为例,内容0x0b表示该通信记录链接的下一条通信是0x0b,这里的0x0b就是通讯记录在EF_EXT1文件中的ID,也就是记录所在的行号,0x0b与0x0c记录以此类推。
[0086] 4、在用户查看用户识别卡中联系人通讯记录详情时,选择通讯记录后,在EF_EXT1文件中逐条读取该联系人的通讯记录,并分为3个标签页:通话记录、短信记录、Email记录,以列表的形式进行显示。
[0087] 在用户编辑卡上联系人记录时,同步更新该联系人的通讯记录。如果用户更改或者删除联系人的号码,则记录该号码的ID值,然后通过ADN文件的最后一个字节中存储的通讯记录的ID到EF_EXT1文件中去找到该号码ID对应的通讯记录并且删除该条记录。
[0088] 如图6所示,本发明实施例还提供了一种在用户识别卡中存储通讯记录的装置,包括:
[0089] 数据预处理模块601,用于在与用户识别卡中的电话簿联系人进行通讯后,将本次通讯的时间和时长信息依据预定通讯记录格式进行格式化后获取本次通讯记录字节流并进行存储;
[0090] 写入处理模块602,用于将所述格式化后的本次通讯记录字节流写入用户识别卡的EF_EXT1文件中,并依照预定的通讯类型标识对本次通讯记录进行归类。
[0091] 优选实施方式下,所述写入处理模块602还用于将所述格式化后的本次通讯记录字节流写入用户识别卡的EF_EXT1文件中之后,通过每条通讯记录的最后一个字节进行连接索引。
[0092] 优选实施方式下,所述在用户识别卡中存储通讯记录的装置还包括:
[0093] 展示模块604,用于当获取到用户发送的联系人通讯记录查看信息时,则申请缓存空间,并逐条读取存储于用户识别卡的EF_EXT1文件之中归类好的且与该电话簿联系人相应的所有通讯记录,并将其存储到缓存空间,之后以列表的形式展示归类好的与该电话簿联系人相应的所有通讯记录。其在实际应用中,用于将卡中联系人的通讯记录分类读取,并且分为3个标签页:通话记录、短信记录、Email记录,将读取的通讯记录按照分类以列表进行显示。
[0094] 以及,优选实施方式下,所述在用户识别卡中存储通讯记录的装置还包括:
[0095] 同步信息模块603,用于当用户更新用户识别卡上的电话簿联系人信息时,则依据更新的字段ID查找用户识别卡的EF_EXT1文件与该字段ID相关的通讯记录,查找到时,则将上一条通讯记录的最后一个字节修改为当前这条通讯记录最后一个字节的内容,如果当前这条通讯记录是存储于用户识别卡的EF_EXT1文件中的第一条通讯记录,那么将缩位拨号号码记录ADN文件中这条通讯记录的最后一个字节的内容修改为这条通讯记录最后一个字节中记录的内容。其在实际应用中,用于如果用户编辑卡上联系人的号码、Email信息,那么同步更新与该字段相关的通讯记录。
[0096] 继续参照图6,本发明实施例还提供了一种终端,包括在用户识别卡中存储通讯记录的装置,其中,所述装置包括:
[0097] 数据预处理模块601,用于在与用户识别卡中的电话簿联系人进行通讯后,将本次通讯的时间和时长信息依据预定通讯记录格式进行格式化后获取本次通讯记录字节流并进行存储;
[0098] 写入处理模块602,用于将所述格式化后的本次通讯记录字节流写入用户识别卡的EF_EXT1文件中,并依照预定的通讯类型标识对本次通讯记录进行归类。
[0099] 优选实施方式下,所述写入处理模块602还用于将所述格式化后的本次通讯记录字节流写入用户识别卡的EF_EXT1文件中之后,通过每条通讯记录的最后一个字节进行连接索引。
[0100] 优选实施方式下,所述在用户识别卡中存储通讯记录的装置还包括:
[0101] 展示模块604,用于当获取到用户发送的联系人通讯记录查看信息时,则申请缓存空间,并逐条读取存储于用户识别卡的EF_EXT1文件之中归类好的且与该电话簿联系人相应的所有通讯记录,并将其存储到缓存空间,之后以列表的形式展示归类好的与该电话簿联系人相应的所有通讯记录。
[0102] 以及,优选实施方式下,所述在用户识别卡中存储通讯记录的装置还包括:
[0103] 同步信息模块603,用于当用户更新用户识别卡上的电话簿联系人信息时,则依据更新的字段ID查找用户识别卡的EF_EXT1文件与该字段ID相关的通讯记录,查找到时,则将上一条通讯记录的最后一个字节存储的内容修改为当前这条通讯记录在EF_EXT1文件中的ID值,如果当前这条通讯记录是存储于用户识别卡的EF_EXT1文件中的第一条通讯记录,那么将缩位拨号号码记录ADN文件中这条通讯记录的最后一个字节的内容修改为这条通讯记录在EF_EXT1文件中的ID值。
[0104] 下面以GSM制式手机为例说明本发明实施例的实现步骤。
[0105] 如图1所示,为本发明的存储用户识别卡联系人通讯记录的功能流程图,本发明的功能实现流程的步骤主要有:
[0106] 步骤101,产生通讯记录后,根据通讯记录的类型,按照本方法中约定的数据格式生成一条通讯记录字节流。
[0107] 步骤102,通过EF_AND文件中该记录的最后一个字节来索引该联系人的通讯记录,如果这一个字节为FF,则说明该联系人没有通讯记录,然后查找EF_EXT1文件中为空记录写入通讯记录,并将第一个字节的第2位设置为1,然后将最后一个字节设为FF。如果这一个字节不是FF,则说明该联系人之前已经存在通讯记录,读取该字节的值,这个值就是在EF_EXT1文件中对应的ID值,然后读取EF_EXT1文件该ID的记录,获取最后一个字节,如果该字节是FF,那么在EF_EXT1中间中找到为空的记录写入通讯记录,并将这一条记录的ID写入上一条通讯记录的最后一个字节。如果该字节不是FF,那么读取最后一个字节的值,该值就是下一条通讯记录在EF_EXT1文件中的ID值,直至找到通讯记录中最后一个字节为FF的记录,然后在EF_EXT1的空记录出写入这一条通讯记录,并将上一条通讯记录的最后一个字节写入当前记录所在的ID。
[0108] 步骤103,当用户查看该联系人的通讯记录时,分类加载通讯记录,首先申请一块内容空间,然后逐条读取该联系人在EF_EXT1文件中的所有通讯记录,然后按照通讯记录的类型将通讯记录数据分类存储到申请的cache中去,然后以列表的形式将此时cache中的数据分类记载到列表内容中提供给用户查看。
[0109] 步骤104,接收用户更新用户识别卡中联系人的消息。
[0110] 步骤105,在用户更新卡上联系人信息时,将更新的字段ID记录下来,并通过字段的ID去EF_EXT1文件中查找是否有与这个字段相关的通讯记录。
[0111] 步骤105,如果有与这个字段相关的通讯记录,那么首先将上一条通讯记录的最后一个字节修改为当前这条通讯记录最后一个字节的内容,如果当前这一条通讯记录是第一条,那么将AND文件中这条记录的最后一个字节的内容修改为这条通讯记录最后一个字节中记录的内容。
[0112] 如图2所示,为本发明的通讯记录数据格式化流程。包括如下步骤:
[0113] 步骤201,通话、短信、Email发出通知,通知产生通讯记录。
[0114] 步骤202,对于通讯记录的号码或者Email进行联系人匹配操作,如果匹配成功,则返回当前联系人是否是用户识别卡上的联系人。
[0115] 步骤203,如果不是用户识别卡中联系人,则说明是手机机身的联系人,直接生成机身联系人的通讯记录即可,不在本方法的关注范围内。
[0116] 步骤204,判断当前记录是否是通话记录。
[0117] 步骤205,如果是通话记录,则获取通话时长。
[0118] 步骤206,在用户与用户识别卡上的联系人进行通讯(电话、短信、Email)后,将本次通讯的时间和时长(短信和Email的时长记为0),产生通讯记录的字段ID用9个字节的cache存储。
[0119] 如图3所示,为本发明的用户识别卡中联系人通讯记录存储流程,包括如下步骤:
[0120] 步骤301,获取步骤206中生成的通讯记录字节流。
[0121] 步骤302,判断当前ADN记录的最后一个字节是否为FF。
[0122] 步骤303,如果是FF,那么说明当前的联系人还没有通讯记录,直接在EF_EXT1文件中找到为空的位置,并且把当前位置的ID记录下来。
[0123] 步骤304,将通讯记录的字节流写入到步骤303找到的位置中,包括更新通讯记录的个数,设置为1。
[0124] 步骤305,写入通讯记录数据,将最后一个字节置为FF,将ADN记录的最后一个字节存储为当前通讯记录的ID。
[0125] 步骤306,如果ADN记录的最后一个字节不为FF,说明该联系人已经存在了通讯记录,此时根据这个字节中存储的记录ID到EF_EXT1文件中找到对已位置的通讯记录。
[0126] 步骤307,获取第一条通讯记录中存储的通讯记录条数。
[0127] 步骤308,判断通讯记录的条数是否大于约定的上限。
[0128] 步骤309,如果通讯记录的条数大于约定的上限,那么修改当前记录索引的下一条记录中的通讯记录个数,将其置为“1111”,并将ADN记录的最后一个字节存储为下一条通讯记录的ID,然后转到步骤310开始执行。
[0129] 步骤310,读取当前通讯记录最后一个字节中指向的下一个通讯记录ID,读取完成后,删除当前的通讯记录,准备插入一条新的通讯记录。
[0130] 步骤311,判断当前通讯记录的最后一个字节是否为FF。
[0131] 步骤312,如果不是FF,则说明当前记录不是该联系人的最后一条记录,那么继续读取下一条通讯记录,返回到步骤311执行,直至找到最后一条通讯记录。
[0132] 步骤313,如果是FF,则说明当前通讯记录是最后一条记录,此时记录这条记录的ID值,然后在EF_EXT1文件中找到一条记录为空的位置。
[0133] 步骤314,在EF_EXT1文件中为空的位置写入通讯记录数据,并将最后一个字节设置FF,标识为最后一条通讯记录。
[0134] 步骤315,保存完通讯记录后,将这条记录的ID写入后步骤313中获取的通讯记录的最后一个字节中,完成通讯记录的连接。
[0135] 步骤316,更新步骤306中获取的第一条通讯记录中的通讯记录个数。
[0136] 如图4所示,为本发明的用户识别卡中联系人通讯记录同步更新流程,包括如下步骤:
[0137] 步骤401,用户更新卡上联系人信息。
[0138] 步骤402,判断当前操作是否是删除联系人。
[0139] 步骤403,如果是删除联系人,那么根据ADN记录的最后一个字节找到EXT文件中对应的通讯记录ID。
[0140] 步骤404,判断当前EXT记录的最后一个字节是否是FF。
[0141] 步骤405,如果是FF,则说明该联系人的通讯记录已经查找完毕,cache中存储的已经是该联系人的所有通讯记录。
[0142] 步骤406,如果不是FF,则将当前记录的ID添加到cache中。
[0143] 步骤407,然后根据当前记录的最后一个字节中存储的下一条记录的ID读取下一条记录,返回步骤404进行判断,直至添加完成所有的通讯记录ID为止。
[0144] 步骤408,逐条删除cache中记录ID的通讯记录。
[0145] 步骤409,如果当前操作不是删除联系人,那么肯定是编辑联系人信息,此时,把所编辑的联系人信息的字段ID记录下来。
[0146] 步骤410,根据ADN记录的最后一个字节找到EXT文件中对应的记录ID。
[0147] 步骤411,读取当前通讯记录中的数据部分存储的联系人信息字段ID。
[0148] 步骤412,判断步骤408中存储的字段ID与步骤410中获取的字段ID是否相等。
[0149] 步骤413,当前EXT记录的最后一个字节是否是FF。
[0150] 步骤414,如果步骤414判断结果为假,说明当前通讯记录不是该联系人的最后一条通讯记录,那么删除当前的通讯及记录,并且将当前记录索引的下一条通讯记录ID保存到上条通讯记录的最后一个字节中
[0151] 步骤415,读取下一条通讯记录,然后返回到步骤411执行。
[0152] 步骤416,如果步骤414判断结果,发现当前通讯记录的最后一个字节的值为FF,那么说明当前通讯记录是最后一条通讯记录,直接删除即可。
[0153] 如图5所示,为本发明的读取用户识别卡中联系人通讯记录流程,包括如下步骤:
[0154] 步骤501,用户读取用户识别卡上联系人信息。
[0155] 步骤502,根据当前联系人的ADN记录的最后一个字节找到EXT文件中对应的记录ID。
[0156] 步骤503,根据EXT文件中对应的记录ID,读取当前通讯记录中的类型ID。
[0157] 步骤504,读取当前通讯记录中的数据,即2-12个字节中存储的内容。
[0158] 步骤505,按照读取的通讯记录类型分别存入对应的cache中。
[0159] 步骤506,判断当前EXT记录的最后一个字节是否是FF。
[0160] 步骤507,如果不是FF,那么读取EXT记录最后一个字节中存储ID的EXT记录,然后回到步骤503执行。
[0161] 步骤508,返回cache内容,按照不同的类型绘制列表。
[0162] 综上所述,在本发明实施例中,通过扩展用户识别卡中的EXT文件,利用EXT文件记录中第一个字节中预留的6位,增加了通讯记录的类型和条数,并且将通讯记录的内容写入到了EF_EXT文件的记录中,从而实现了存储用户识别卡联系人通讯记录的技术方案,通过这种可以在用户识别卡中存储联系人通讯记录的方法,实现了通讯记录功能能够在不同手机终端中进行通用,从而提高了用户的使用体验。
[0163] 以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。