提高终端对卡的兼容性的方法及终端 |
|||||||
申请号 | CN201110248242.9 | 申请日 | 2011-08-24 | 公开(公告)号 | CN102307341A | 公开(公告)日 | 2012-01-04 |
申请人 | 中兴通讯股份有限公司; | 发明人 | 徐洋; | ||||
摘要 | 本 发明 涉及一种提高终端对卡的兼容性的方法及终端,其方法包括:终端读取卡中的 基础 类文件;获取基础类文件的参数列表中各参数的初始值,根据初始值的有效性 修改 对应参数的指示位的值;将修改后的对应参数的指示位的值保存于卡中。本发明在终端读取卡中的基础类文件时,根据基础类文件的参数列表中各参数的初始值的有效性修改对应参数的指示位的值,并将修改后的对应参数的指示位的值保存于卡中,使得卡符合标准协议的规定,提高了终端对卡的兼容性,同时缩短了项目开发的时间。 | ||||||
权利要求 | 1.一种提高终端对卡的兼容性的方法,其特征在于,包括: |
||||||
说明书全文 | 提高终端对卡的兼容性的方法及终端技术领域[0001] 本发明涉及通信技术领域,尤其涉及一种提高终端对卡的兼容性的方法及终端。 背景技术[0002] 现有的移动终端比如手机都配有SIM卡(Subscriber Identification Module,用户身份识别卡)。由于SIM卡厂商很多,而且参差不齐,各SIM卡厂商对协议的理解并不一致,由此使得各SIM卡的实现标准、文件参数设置不一致,有的SIM卡甚至不符合标准协议。这样对手机的匹配与兼容性能提出了挑战。手机必须对不同的SIM卡均要表现出很好的兼容性。 [0003] 现有的手机对其安装的SIM卡的兼容性较差,尤其是对不符合标准协议的SIM卡更是无法兼容,不能满足市场及用户需求。 发明内容[0004] 本发明的主要目的在于提供一种提高终端对卡的兼容性的方法及终端,旨在有效提高终端对卡的兼容性。 [0005] 为了达到上述目的,本发明提出一种提高终端对卡的兼容性的方法,包括: [0006] 终端读取卡中的基础类文件; [0008] 将修改后的对应参数的指示位的值保存于所述卡中。 [0009] 优选地,所述获取基础类文件的参数列表中各参数的初始值,根据所述初始值的有效性修改对应参数的指示位的值的步骤包括: [0010] 根据所述基础类文件的参数列表中各参数的排列先后顺序,依次获取对应参数的初始值; [0011] 判断所述对应参数的初始值是否有效,若是,则将所述对应参数的指示位的值置为第一预定值;否则,将所述对应参数的指示位的值置为第二预定值。 [0012] 优选地,所述判断参数的初始值是否有效的步骤包括: [0013] 将所述参数的初始值与预定阀值比较,当所述参数的初始值大于所述预定阀值时,所述参数的初始值有效;否则,所述参数的初始值无效。 [0014] 优选地,所述根据基础类文件的参数列表中各参数的排列先后顺序,依次获取对应参数的初始值的步骤之前还包括: [0015] 判断所述参数是否为必选参数,若是,则根据基础类文件的参数列表中各参数的排列先后顺序,依次获取对应参数的初始值;否则,对所述参数不作处理。 [0016] 优选地,所述终端至少为移动终端;所述基础类文件至少包括短信服务基本文件;所述卡至少包括SIM卡。 [0017] 本发明还提出一种提高卡兼容性的终端,包括: [0018] 读取模块,用于读取卡中的基础类文件; [0019] 指示位修改模块,用于获取所述基础类文件的参数列表中各参数的初始值,根据所述初始值的有效性修改对应参数的指示位的值; [0020] 存储模块,用于将修改后的对应参数的指示位的值保存于所述卡中。 [0021] 优选地,所述指示位修改模块包括: [0022] 初始值获取单元,用于根据所述基础类文件的参数列表中各参数的排列先后顺序,依次获取对应参数的初始值; [0023] 判断修改单元,判断所述对应参数的初始值是否有效,若是,则将所述对应参数的指示位的值置为第一预定值;否则,将所述对应参数的指示位的值置为第二预定值。 [0024] 优选地,所述判断修改单元还用于将所述参数的初始值与预定阀值比较,当所述参数的初始值大于所述预定阀值时,判断所述参数的初始值有效;否则,判断所述参数的初始值无效。 [0025] 优选地,所述初始值获取单元还用于判断所述参数是否为必选参数,若是,则根据基础类文件的参数列表中各参数的排列先后顺序,依次获取对应参数的初始值;否则,对所述参数不作处理。 [0026] 优选地,所述终端至少为移动终端;所述基础类文件至少包括短信服务基本文件;所述卡至少包括SIM卡。 [0027] 本发明提出的一种提高终端对卡的兼容性的方法及终端,在终端读取卡中的基础类文件时,根据基础类文件的参数列表中各参数的初始值的有效性修改对应参数的指示位的值,并将修改后的对应参数的指示位的值保存于卡中,使得卡符合标准协议的规定,提高了终端对卡的兼容性,同时缩短了项目开发的时间。附图说明 [0028] 图1是本发明提高终端对卡的兼容性的方法一实施例流程示意图; [0029] 图2是本发明提高终端对卡的兼容性的方法一实施例中获取基础类文件的参数列表中各参数的初始值,根据初始值的有效性修改对应参数的指示位的值流程示意图; [0030] 图3是本发明提高终端对卡的兼容性的终端一实施例的结构示意图; [0031] 图4是本发明提高终端对卡的兼容性的终端一实施例中指示位修改模块的结构示意图。 [0032] 为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。 具体实施方式[0033] 本发明实施例解决方案主要是:在终端读取卡中的基础类文件时,根据基础类文件的参数列表中各参数的初始值的有效性修改对应参数的指示位的值,并将修改后的对应参数的指示位的值保存于卡中,使得卡符合标准协议的规定,以提高终端对卡的兼容性。 [0034] 本发明中终端可以为手机等移动终端,下面各实施例中以手机与SIM卡之间的兼容性为例进行说明,但不限于以上情形。本发明实施例中,手机对无论是否符合协议规范的SIM卡均能实现兼容,而且可以对不符合规范的SIM卡中的基础类文件的相关参数的指示位的值进行修改,使之成为符合标准协议的SIM卡。 [0035] 具体地,如图1所示,本发明一实施例提出一种提高终端对卡的兼容性的方法,包括: [0036] 步骤S101,终端读取卡中的基础类文件; [0037] 以SIM卡为例,SIM卡中设置有很多基础类文件(FF文件),比如与短信服务参数(Short message service parameters)对应的EFSMSP文件等。由于各SIM卡厂商不同,使得各SIM卡中的基础类文件中各参数对应的指示位的值不同或不符合标准协议。 [0038] 本实施例中,以终端是手机为例,为了提高手机对SIM卡的兼容性,手机首先读取SIM卡中的基础类文件。 [0039] 步骤S102,获取基础类文件的参数列表中各参数的初始值,根据初始值的有效性修改对应参数的指示位的值; [0040] 根据基础类文件的结构特点,终端分别获取基础类文件中各参数的初始值,比如可以根据各参数在基础类文件中的排列先后顺序,手机依次获取SIM卡中的基础类文件内相应参数的初始值。 [0041] 在选取基础类文件中各参数的初始值时,也可以只选取文件中的必选参数进行处理。 [0042] 首先,判断选取的参数是否为必选参数,若是,则根据基础类文件的参数列表中各参数的排列先后顺序,依次获取对应参数的初始值;否则,对该参数不作处理。 [0043] 在获取到基础类文件中各参数的初始值后,手机需要进一步判断相应参数的初始值的有效性,根据初始值的有效性来修改对应参数的指示位的值。 [0044] 其中,参数的初始值的有效性,可以根据该参数的初始值与预定阀值进行比较,比如,对于短信服务参数中的TP-Destination Address参数,可以判断该参数的号码长度是否大于20,如果小于20,则说明这个参数的初始值有效,将对应的指示位修改为0,如果大于20,则说明这个参数无效,将对应的指示位修改为1。 [0045] 步骤S103,将修改后的对应参数的指示位的值保存于卡中。 [0046] 最后,当SIM卡的基础类文件中所有参数均处理完毕,则将修改后的对应参数的指示位的值保存于SIM卡中,使得修改后的SIM卡符合标准协议规定,从而提高了手机对SIM卡的兼容性。 [0047] 如图2所示,上述步骤S102包括: [0048] 步骤S1021,根据基础类文件的参数列表中各参数的排列先后顺序,依次获取对应参数的初始值; [0049] 步骤S1022,判断对应参数的初始值是否有效,若是,则进入步骤S1023;否则,进入步骤S1024; [0050] 其中,判断参数的初始值是否有效的过程为:将参数的初始值与预定阀值比较,若参数的初始值大于预定阀值,则认为参数的初始值有效;否则,认为参数的初始值无效。 [0051] 步骤S1023,将对应参数的指示位的值置为第一预定值; [0052] 步骤S1024,将对应参数的指示位的值置为第二预定值。 [0053] 上述第一预定值及第二预定值可以分别设置为0和1,0表示有效,1表示无效。 [0054] 下面以SIM卡中的短信服务参数对应的EFSMSP文件为例,详细说明手机兼容SIM卡时对EFSMSP文件的处理过程: [0055] SIM卡里有很多的基础类文件(EF),对基础类文件的读取可体现出手机对SIM卡的兼容性。本实施例通过手机对这些文件的初始值的读取来提高手机对SIM卡的兼容性。 [0056] 短信服务参数对应的文件EFSMSP的结构如图下表1所示: [0057] [0058] 表1 [0059] 根据标准协议的规定,上表1中,文件EFSMSP的各参数中,除了Alpha-Identifier参数是可选的之外,其它的参数都是必选的。通过ParameterIndicators指示TP-Destination Address、TP-Service Centre Address等参数存在与否。 [0060] 有的SIM卡厂商会严格按照标准协议来实现:当参数对应的指示位为0时,同时也会将TP-Destination Address、TP-Service Centre Address等参数附上相应的初始值,当参数对应的指示位为1时,则相应的参数不赋值;但是有的SIM卡厂商并不能严格按照标准协议来实现,随意填写参数对应的指示位,或者将所有参数对应的指示位全置0或者全置1,或者置为其他值,但同时仍然给TP-Destination Address、TP-Service Centre Address等参数附上值,使得SIM卡不符合标准规范。 [0061] 本实施例通过手机对这些文件的初始值的读取来提高手机对SIM卡的兼容性,对不符合规范的SIM卡中的基础类文件的相关参数的指示位的值进行修改,使之成为符合标准协议的SIM卡。 [0062] 首先,手机中的短信模块读取SIM卡中的EFSMSP文件,然后取出第一个参数TP-Destination Address,判断该参数的号码长度是否大于20,如果小于20,说明该参数的号码长度值有效,将修改第一个参数TP-Destination Address对应的指示位为0,如果大于20,则说明该参数的号码长度值无效,则修改第一个参数TP-Destination Address对应的指示位为1。 [0063] 然后取出第二个参数TS-Service Centre Address,判断该参数的号码长度是否大于12,如果小于12,说明该参数的号码长度值有效,将修改第二个参数TS-Service Centre Address相对应的指示位为0,如果大于12则说明该参数的号码长度值无效,修改第二个参数TS-Service Centre Address对应的指示位为1。这样依次判断和修改每个参数,修改完毕后,将各指示位的值存入SIM卡中。 [0064] 本实施例可快速提高手机对SIM卡的兼容性,并且可修改不符合标准规范的SIM卡,使之成为符合标准协议的SIM卡,缩短项目开发的时间。 [0065] 如图3所示,本发明还提出一种提高卡兼容性的终端,包括:读取模块301、指示位修改模块302以及存储模块303,其中: [0066] 读取模块301,用于读取卡中的基础类文件; [0067] 指示位修改模块302,用于获取基础类文件的参数列表中各参数的初始值,根据初始值的有效性修改对应参数的指示位的值; [0068] 存储模块303,用于将修改后的对应参数的指示位的值保存于卡中。 [0069] 具体地,以SIM卡为例,SIM卡中设置有很多基础类文件(FF文件),比如与短信服务参数对应的EFSMSP文件等。由于各SIM卡厂商不同,使得各SIM卡中的基础类文件中各参数对应的指示位的值不同或不符合标准协议。 [0070] 本实施例中,以终端是手机为例,为了提高手机对SIM卡的兼容性,手机首先通过读取模块301读取SIM卡中的基础类文件。 [0071] 根据基础类文件的结构特点,终端中指示位修改模块302分别获取基础类文件中各参数的初始值,比如可以根据各参数在基础类文件中的排列先后顺序,手机依次获取SIM卡中的基础类文件内相应参数的初始值。 [0072] 在选取基础类文件中各参数的初始值时,也可以只选取文件中的必选参数进行处理。 [0073] 首先,判断选取的参数是否为必选参数,若是,则根据基础类文件的参数列表中各参数的排列先后顺序,依次获取对应参数的初始值;否则,对该参数不作处理。 [0074] 在获取到基础类文件中各参数的初始值后,手机需要进一步判断相应参数的初始值的有效性,根据初始值的有效性来修改对应参数的指示位的值。 [0075] 其中,参数的初始值的有效性,可以根据该参数的初始值与预定阀值进行比较,比如,对于短信服务参数中的TP-Destination Address参数,可以判断该参数的号码长度是否大于20,如果小于20,则说明这个参数的初始值有效,将对应的指示位修改为0,如果大于20,则说明这个参数无效,将对应的指示位修改为1。 [0076] 最后,当SIM卡的基础类文件中所有参数均处理完毕,则通过存储模块303将修改后的对应参数的指示位的值保存于SIM卡中,使得修改后的SIM卡符合标准协议规定,从而提高了手机对SIM卡的兼容性。 [0077] 如图4所示,指示位修改模块302包括:初始值获取单元3021以及判断修改单元3022,其中: [0078] 初始值获取单元3021,用于根据基础类文件的参数列表中各参数的排列先后顺序,依次获取对应参数的初始值; [0079] 判断修改单元3022,判断对应参数的初始值是否有效,若是,则将对应参数的指示位的值置为第一预定值;否则,将对应参数的指示位的值置为第二预定值。 [0080] 其中,初始值获取单元3021还用于判断参数是否为必选参数,若是,则根据基础类文件的参数列表中各参数的排列先后顺序,依次获取对应参数的初始值;否则,对参数不作处理。 [0081] 判断修改单元3022判断对应参数的初始值是否有效的方法是:判断修改单元3022将参数的初始值与预定阀值比较,若参数的初始值大于预定阀值,则判断参数的初始值有效;否则,判断参数的初始值无效。 [0082] 本发明实施例提高终端对卡的兼容性的方法及终端,在终端读取卡中的基础类文件时,根据基础类文件的参数列表中各参数的初始值的有效性修改对应参数的指示位的值,并将修改后的对应参数的指示位的值保存于卡中,使得卡符合标准协议的规定,提高了终端对卡的兼容性,同时缩短了项目开发的时间。 |