一种获取SIM卡信息的方法、装置、终端及系统与流程

文档序号:12740790阅读:389来源:国知局
一种获取SIM卡信息的方法、装置、终端及系统与流程

本发明涉及安全领域,尤其涉及一种获取SIM卡信息的方法、装置、终端及系统。



背景技术:

随着移动网络和数据通信技术的发展,用户对终端数据速率的要求越来越高。另一方面,在提高网络速率和频段利用率的同时,多卡终端(例如,DSDS,DualSimDualStandby,双卡双待终端)的出现,使得用户在实现双卡语音业务的待机同时,能分别建立双卡各自的数据业务链接。

目前市面上的双卡终端没有官方统一的开发接口,各终端厂商使用私有接口。运行在这些终端上的App(Application,应用程序)无法获取私有接口信息,导致某些功能不能正常使用。一种解决方法是,针对老款高通、MTK双卡终端,在App开发阶段加入这些终端的私有接口文档,使运行在这些终端上的App能够正常调用终端的私有接口,但这种方法存在如下缺陷:1.该方法只针对某几个系统版本,也没有覆盖市面上所有的双卡终端,适用面较窄;2.系统升级导致接口信息改变后,若不重新编写代码发版本就无法适应更新。

因此,有必要提出一种简单的、适应所有双卡终端的、能不断升级的解决办法。



技术实现要素:

本发明提出了一种获取SIM卡信息的方法、装置、终端及系统,以至少解决应用程序在多卡终端上无法获取SIM卡信息的缺陷。

本发明具体是以如下技术方案实现的:

第一方面,本发明提供一种获取SIM卡信息的方法,所述方法包括:

响应来自运行于终端的应用的实例获取请求,所述请求用于获取管理器实例;调用实例创建函数以创建管理器实例,所述管理器实例包括至少一个包装接口信息;

将所述管理器实例发送至所述应用;

从服务器获取所述终端的接口文档,所述接口文档包括私有接口信息以及所述私有接口信息与所述包装接口信息的映射关系;

接收来自所述应用的SIM卡信息获取请求,所述请求携带所述管理器实例的包装接口信息;

根据所述私有接口信息与所述包装接口信息的映射关系,获取与所述包装接口信息对应的私有接口信息;

基于所述私有接口信息调用私有接口,获得所述终端的SIM卡信息;

将所述终端的SIM卡信息返回至所述应用。

优选地,所述从服务器获取所述终端的接口文档,包括:

获取所述终端的终端信息,所述终端信息包括终端的设备信息和系统版本信息;

向服务器发送接口文档查询请求,所述查询请求携带所述终端信息,所述服务器用于接收所述查询请求并返回与所述终端信息对应的接口文档;

接收服务器返回的所述终端的接口文档。

优选地,所述服务器用于:收集多卡终端的终端信息和私有接口信息,根据与所述私有接口信息对应的私有接口的功能和与所述包装接口信息对应的包装接口的功能,建立所述私有接口信息与所述包装接口信息的映射关系,根据所述私有接口信息和该私有接口信息与包装接口信息的映射关系生成接口文档,将所述接口文档与所述终端信息对应存储。

优选地,所述接收服务器返回的所述终端的接口文档之后,还包括:

查询本地是否存储有所述终端的接口文档;

若否,保存所述服务器返回的接口文档;

若是,判断本地保存的接口文档与服务器返回的接口文档是否相同,若是,丢弃所述服务器返回的接口文档,若否,用服务器返回的接口文档替换本地保存的接口文档。

优选地,所述终端的SIM卡信息包括:SIM卡数量、指定卡槽的SIM卡的IMSI号码、指定卡槽的SIM卡的电话号码和作为数据卡的SIM卡的卡槽号;

所述包装接口信息包括包装接口getSimCount的信息、包装接口getPhoneNumber(simSlot)的信息、包装接口getIMSI(simSlot)的信息和包装接口getDataSimSlot的信息。

优选地,所述接收来自所述应用的SIM卡信息获取请求,所述请求携带所述管理器实例的包装接口信息,包括:

接收来自所述应用的获取SIM卡数量的请求,所述请求携带包装接口getSimCount的信息;或,

接收来自所述应用的获取指定卡槽的SIM卡的IMSI号码的请求,所述请求携带包装接口getIMSI(simSlot)的信息和指定的卡槽号;或,

接收来自所述应用的获取指定卡槽的SIM卡的电话号码的请求,所述请求携带包装接口getPhoneNumber(simSlot)的信息和指定的卡槽号;或,

接收来自所述应用的获取作为数据卡的SIM卡的卡槽号的请求,所述请求携带包装接口getDataSimSlot的信息。

优选地,所述根据所述私有接口信息与所述包装接口信息的映射关系,获取与所述包装接口信息对应的私有接口信息;基于所述私有接口信息调用私有接口,获得所述终端的SIM卡信息,包括:

当接收到来自所述应用的获取SIM卡数量的请求时,获取与所述包装接口getSimCount的信息对应的私有接口信息,根据所述私有接口信息调用私有接口,获得SIM卡数量;

当接收到来自所述应用的获取指定卡槽的SIM卡的IMSI号码的请求时,获取与所述包装接口getIMSI(simSlot)的信息对应的私有接口信息,根据所述私有接口信息和指定的卡槽号调用私有接口,获得指定卡槽的SIM卡的IMSI号码;

当接收到来自所述应用的获取指定卡槽的SIM卡的电话号码的请求时,获取与所述包装接口getPhoneNumber(simSlot)的信息对应的私有接口信息,根据所述私有接口信息和指定的卡槽号调用私有接口,获得指定卡槽的SIM卡的电话号码;

当接收到来自所述应用的获取作为数据卡的SIM卡的卡槽号的请求时,获取与所述包装接口getDataSimSlot的信息对应的私有接口信息,根据所述私有接口信息调用私有接口,获得当前作为数据卡的SIM卡的卡槽号。

第二方面,本发明提供一种获取SIM卡信息的方法,包括:

向管理器发送实例获取请求,所述请求用于获取管理器实例,所述管理器用于调用实例创建函数创建管理器实例,所述管理器实例包括至少一个包装接口信息;

接收管理器返回的管理器实例;

调用与所述管理器实例的包装接口信息对应的包装接口,向所述管理器发送SIM卡信息获取请求;

接收所述管理器返回的所述终端的SIM卡信息。

优选地,所述终端的SIM卡信息包括:SIM卡数量、指定卡槽的SIM卡的IMSI号码、指定卡槽的SIM卡的电话号码和作为数据卡的SIM卡的卡槽号;

所述包装接口信息包括包装接口getSimCount的信息、包装接口getPhoneNumber(simSlot)的信息、包装接口getIMSI(simSlot)的信息和包装接口getDataSimSlot的信息。

优选地,所述调用与所述管理器实例的包装接口信息对应的包装接口,向所述管理器发送SIM卡信息获取请求,包括:

调用包装接口getSimCount的信息对应的接口getSimCount,向所述管理器发送获取SIM卡数量的请求;或,

根据指定的卡槽号,调用包装接口getPhoneNumber(simSlot)的信息对应的接口getPhoneNumber(simSlot),向所述管理器发送获取指定卡槽的SIM卡的电话号码的请求;或,

根据指定的卡槽号,调用包装接口getIMSI(simSlot)的信息对应的接口getIMSI(simSlot),向所述管理器发送获取指定卡槽的SIM卡的IMSI号码的请求;或,

调用包装接口getDataSimSlot的信息对应的接口getDataSimSlot,向所述管理器发送获取作为数据卡的SIM卡的卡槽号的请求。

第三方面,本发明提供一种获取SIM卡信息的装置,所述装置包括:

第一接收单元,用于接收来自运行于终端的应用的实例获取请求,所述请求用于获取管理器实例;

实例创建单元,用于调用实例创建函数以创建管理器实例,所述管理器实例包括至少一个包装接口信息;

第一发送单元,用于将所述管理器实例发送至所述应用;

接口文档获取单元,用于从服务器获取所述终端的接口文档,所述接口文档包括私有接口信息以及所述私有接口信息与所述包装接口信息的映射关系;

第二接收单元,用于接收来自所述应用的SIM卡信息获取请求,所述请求携带所述管理器实例的包装接口信息;

处理单元,用于根据所述私有接口信息与所述包装接口信息的映射关系,获取与所述包装接口信息对应的私有接口信息;

所述处理单元,还用于基于所述私有接口信息调用私有接口,获得所述终端的SIM卡信息;

第二发送单元,用于将所述终端的SIM卡信息返回至所述应用。

优选地,所述接口文档获取单元包括:

获取模块,用于获取所述终端的终端信息,所述终端信息包括终端的设备信息和系统版本信息;

发送模块,用于向服务器发送接口文档查询请求,所述查询请求携带所述终端信息,所述服务器用于接收所述查询请求并返回与所述终端信息对应的接口文档;

接收模块,用于接收服务器返回的所述终端的接口文档。

优选地,所述装置还包括:

接口文档存储单元,用于查询本地是否存储有所述终端的接口文档;若否,保存所述服务器返回的接口文档;若是,判断本地保存的接口文档与服务器返回的接口文档是否相同,若是,丢弃所述服务器返回的接口文档,若否,用服务器返回的接口文档替换本地保存的接口文档。

优选地,所述终端的SIM卡信息包括:SIM卡数量、指定卡槽的SIM卡的IMSI号码、指定卡槽的SIM卡的电话号码和作为数据卡的SIM卡的卡槽号;

所述包装接口信息包括包装接口getSimCount的信息、包装接口getPhoneNumber(simSlot)的信息、包装接口getIMSI(simSlot)的信息和包装接口getDataSimSlot的信息。

优选地,所述第二接收单元包括:

第一接收模块,用于接收来自所述应用的获取SIM卡数量的请求,所述请求携带包装接口getSimCount的信息;

第二接收模块,用于接收来自所述应用的获取指定卡槽的SIM卡的IMSI号码的请求,所述请求携带包装接口getIMSI(simSlot)的信息和指定的卡槽号;

第三接收模块,用于接收来自所述应用的获取指定卡槽的SIM卡的电话号码的请求,所述请求携带包装接口getPhoneNumber(simSlot)的信息和指定的卡槽号;

第四接收模块,用于接收来自所述应用的获取作为数据卡的SIM卡的卡槽号的请求,所述请求携带包装接口getDataSimSlot的信息。

优选地,所述处理单元包括:

第一处理模块,用于当接收到来自所述应用的获取SIM卡数量的请求时,获取与所述包装接口getSimCount的信息对应的私有接口信息,根据所述私有接口信息调用私有接口,获得SIM卡数量;

第二处理模块,用于当接收到来自所述应用的获取指定卡槽的SIM卡的IMSI号码的请求时,获取与所述包装接口getIMSI(simSlot)的信息对应的私有接口信息,根据所述私有接口信息和指定的卡槽号调用私有接口,获得指定卡槽的SIM卡的IMSI号码;

第三处理模块,用于当接收到来自所述应用的获取指定卡槽的SIM卡的电话号码的请求时,获取与所述包装接口getPhoneNumber(simSlot)的信息对应的私有接口信息,根据所述私有接口信息和指定的卡槽号调用私有接口,获得指定卡槽的SIM卡的电话号码;

第四处理模块,用于当接收到来自所述应用的获取作为数据卡的SIM卡的卡槽号的请求时,获取与所述包装接口getDataSimSlot的信息对应的私有接口信息,根据所述私有接口信息调用私有接口,获得当前作为数据卡的SIM卡的卡槽号。

第四方面,本发明提供一种获取SIM卡信息的装置,包括:

实例获取单元,用于向管理器发送实例获取请求,所述请求用于获取管理器实例,所述管理器用于调用实例创建函数创建管理器实例,所述管理器实例包括至少一个包装接口信息;

实例接收单元,用于接收管理器返回的管理器实例;

SIM卡信息获取单元,用于调用与所述管理器实例的包装接口信息对应的包装接口,向所述管理器发送SIM卡信息获取请求;

SIM卡信息接收单元,用于接收所述管理器返回的所述终端的SIM卡信息。

优选地,所述终端的SIM卡信息包括:SIM卡数量、指定卡槽的SIM卡的IMSI号码、指定卡槽的SIM卡的电话号码和作为数据卡的SIM卡的卡槽号;

所述包装接口信息包括包装接口getSimCount的信息、包装接口getPhoneNumber(simSlot)的信息、包装接口getIMSI(simSlot)的信息和包装接口getDataSimSlot的信息。

优选地,所述SIM卡信息获取单元包括:

第一SIM卡信息获取模块,用于调用包装接口getSimCount的信息对应的接口getSimCount,向所述管理器发送获取SIM卡数量的请求;

第二SIM卡信息获取模块,用于根据指定的卡槽号,调用包装接口getPhoneNumber(simSlot)的信息对应的接口getPhoneNumber(simSlot),向所述管理器发送获取指定卡槽的SIM卡的电话号码的请求;

第三SIM卡信息获取模块,用于根据指定的卡槽号,调用包装接口getIMSI(simSlot)的信息对应的接口getIMSI(simSlot),向所述管理器发送获取指定卡槽的SIM卡的IMSI号码的请求;

第四SIM卡信息获取模块,用于调用包装接口getDataSimSlot的信息对应的接口getDataSimSlot,向所述管理器发送获取作为数据卡的SIM卡的卡槽号的请求。

第五方面,本发明提供一种终端,所述终端包括上述第三方面所述的装置和上述第四方面所述的装置。

第六方面,本发明提供一种获取SIM卡信息的系统,所述系统包括上述第五方面所述的终端和服务器,所述服务器包括:

信息收集单元,用于收集多卡终端的终端信息和私有接口信息;

接口文档生成单元,用于根据与所述私有接口信息对应的私有接口的功能和与所述包装接口信息对应的包装接口的功能,建立所述私有接口信息与所述包装接口信息的映射关系;根据所述私有接口信息和该私有接口信息与包装接口信息的映射关系生成接口文档;

存储单元,用于将所述接口文档与所述终端信息对应存储;

请求接收单元,用于接收接口文档获取请求,所述请求携带终端信息;

接口文档查询单元,用于根据所述请求携带的终端信息查找与所述终端信息对应的接口文档;

接口文档发送单元,用于向外发送所述终端信息对应的接口文档。

本发明的一种获取SIM卡信息的方法、装置、终端及系统,具有如下有益效果:

通过预先收集多卡终端的终端信息和私有接口信息,将功能相似的私有接口进行归纳,向外统一包装成完全一致的终端开发接口,将这些接口信息与终端信息对应存储于服务器;当终端应用需要获取所在终端的SIM卡信息时,首先从管理器获得一个管理器实例,管理器从服务器获得终端的私有接口信息,该应用使用管理器实例向管理器请求SIM卡信息,由管理器调用相应的私有接口来获得SIM卡信息并返回给应用。本方案能够解决应用无法在多卡终端上获取SIM卡信息的问题;由服务器存储多卡终端的终端信息和私有接口信息,可以覆盖市面上所有的多卡终端,适用广泛;当终端系统升级导致私有接口改变,可以及时获取到新的私有接口,确保终端应用的功能正常运行。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。

图1是本发明实施例提供的获取SIM卡信息的方法的流程图;

图2是本发明实施例提供的从服务器获取和保存接口文档的方法的流程图;

图3是本发明实施例提供的获取SIM卡信息的方法的流程图;

图4是本发明实施例提供的在获取SIM卡信息流程中APP、管理器及服务器之间的交互图;

图5是本发明实施例提供的获取SIM卡信息的场景示意图;

图6是本发明实施例提供的获取SIM卡信息的装置的框图;

图7是本发明实施例提供的获取SIM卡信息的装置的框图;

图8是本发明实施例提供的获取SIM卡信息的系统中的服务器的框图;

图9是本发明实施例提供的终端的结构框图;

图10是本发明实施例提供的服务器的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例一:

本实施例的应用是指计算机应用程序(App),其安装并运行于移动终端上。大多数移动终端具有单个容纳SIM(用户识别模块)卡的卡槽,也有部分移动终端具有多个卡槽,支持多个SIM卡,市面上最常见的支持多卡的移动终端为双卡移动终端,这类移动终端提供两个SIM卡卡槽,可以支持两个SIM卡。每个SIM卡存放一个IMSI(国际移动用户识别码)号,IMSI在移动电话网中用于唯一识别移动用户,当移动终端内安装了多张SIM卡时,需要指定一张联网的SIM卡作为数据卡,以提供数据服务。然而,由于市面上的多卡终端没有官方统一的开发接口,各终端厂商采用各自的私有接口,App开发人员一般不能获得这些多卡终端的私有接口信息,运行于这些多卡终端上的App无法获取私有接口信息,导致App的某些功能不能正常使用。例如,双卡终端上安装了一张移动的SIM卡和一张电信的SIM卡,其中,移动的SIM卡订阅了免流量业务,电信的SIM卡未订阅免流量业务,若当前指定的数据卡为电信的SIM卡,就不能正常使用订阅的免流量功能,给用户带来损失。

为解决App无法获取多卡终端的SIM卡信息的缺陷,本发明实施例提供了一种获取SIM卡信息的方法,如图1所示,所述方法包括:

S101:响应来自运行于终端的应用的实例获取请求,所述请求用于获取管理器实例;调用实例创建函数以创建管理器实例,所述管理器实例包括至少一个包装接口信息。

在开发应用程序时,应用开发者将SDK(Software Development Kit,软件开发套件)中的jar包导入工程,为应用程序提供一个管理器类,其对外暴露多个包装接口,通过SDK的文档初始化以及调用相应的接口可以获得多卡终端的SIM卡信息。应用程序和管理器打包下发,用户在终端上安装应用程序时,将一并安装该管理器。

管理器首先接收应用发送的实例获取请求,调用实例创建函数getInstance()创建管理器实例,管理器实例可以包括多个包装接口,优选地,所述包装接口可以包括getSimCount、getIMSI(simSlot)、getPhoneNumber(simSlot)、getDataSimSlot。

S102:将所述管理器实例发送至所述应用。

管理器将创建的管理器实例返回至应用。

S103:从服务器获取所述终端的接口文档,所述接口文档包括私有接口信息以及所述私有接口信息与所述包装接口信息的映射关系。

创建管理器实例过程中,管理器被初始化,并与服务器通信,从服务器获取终端的接口文档。参见图2,管理器从服务器获取所述终端的接口文档包括如下步骤:

S201,获取终端的终端信息,所述终端信息包括终端的设备信息和系统版本信息。

S202,向服务器发送接口文档查询请求,所述查询请求携带所述终端信息,所述服务器用于接收所述查询请求并返回与所述终端信息对应的接口文档。

本实施例中,服务器预先获取多卡终端的终端信息和私有接口信息,根据与私有接口信息对应的私有接口的功能和与管理器的包装接口信息对应的包装接口的功能,建立私有接口信息与包装接口信息的映射关系,根据私有接口信息和该私有接口信息与包装接口信息的映射关系生成接口文档,将接口文档与终端信息进行对应存储。本实施例中,管理器对外定义了统一的包装接口,服务器存储的包装接口信息和管理器的包装接口信息完全一致。当服务器收到管理器发送的接口文档查询请求时,会根据查询请求携带的终端信息查询得到对应的接口文档,并将该接口文档返回给管理器。

S203,接收服务器返回的所述终端的接口文档。

作为本实施例的一种优选方式,所述步骤S203之后还包括:

S204,查询本地是否存储有所述终端的接口文档;

S205,若本地已存储接口文档,判断本地保存的接口文档与服务器返回的接口文档是否相同;

S206,若本地保存的接口文档与服务器返回的接口文档相同,丢弃所述服务器返回的接口文档;

S207,若本地保存的接口文档与服务器返回的接口文档不同,用服务器返回的接口文档替换本地保存的接口文档;

S208,若本地未存储接口文档,保存所述服务器返回的接口文档。S104:接收来自所述应用的SIM卡信息获取请求,所述请求携带所述管理器实例的包装接口信息。

应用可以根据管理器实例的包装接口信息,调用与所述包装接口信息对应的包装接口,从而向管理器发送获取SIM卡信息的请求。

S105:根据所述私有接口信息与所述包装接口信息的映射关系,获取与所述包装接口信息对应的私有接口信息。

S106:基于所述私有接口信息调用私有接口,获得所述终端的SIM卡信息。管理器保存了服务器返回的接口文档,根据接口文档中私有接口信息与包装接口信息的映射关系,查询得到与SIM卡请求的包装接口信息对应的私有接口信息,并调用与该私有接口信息对应的私有接口,从而获得SIM卡信息。

S107:将所述终端的SIM卡信息返回至所述应用。

作为一种可选的实施方式,终端的SIM卡信息可以包括:SIM卡数量、指定卡槽的SIM卡的IMSI号码、指定卡槽的SIM卡的电话号码和作为数据卡的SIM卡的卡槽号;包装接口信息可以包括包装接口getSimCount的信息、包装接口getPhoneNumber(simSlot)的信息、包装接口getIMSI(simSlot)的信息和包装接口getDataSimSlot的信息。

应用可以通过调用包装接口getSimCount向管理器发送获取SIM数量的请求,管理器收到来自应用的获取SIM卡数量的请求,获得包装接口getSimCount的信息,并获取与所述包装接口getSimCount的信息对应的私有接口信息,根据所述私有接口信息调用私有接口,获得SIM卡数量,之后将SIM卡数量发送给所述应用。

应用可以通过调用包装接口getPhoneNumber(simSlot)向管理器发送获取指定卡槽的SIM卡的电话号码的请求;管理器收到来自应用的获取指定卡槽的SIM卡的电话号码的请求时,获得包装接口getPhoneNumber(simSlot)的信息和指定的卡槽号,并获取与所述包装接口getPhoneNumber(simSlot)的信息对应的私有接口信息,根据所述私有接口信息和指定的卡槽号调用私有接口,获得指定卡槽的SIM卡的电话号码,之后将指定卡槽的SIM卡的电话号码发送给所述应用。

应用可以通过调用包装接口getIMSI(simSlot)向管理器发送获取指定卡槽的SIM卡的IMSI号码的请求;管理器收到来自应用的获取指定卡槽的SIM卡的电话号码的请求,获得包装接口getIMSI(simSlot)的信息和指定的卡槽号;并获取与所述包装接口getIMSI(simSlot)的信息对应的私有接口信息,根据所述私有接口信息和指定的卡槽号调用私有接口,获得指定卡槽的SIM卡的IMSI号码,之后将指定卡槽的SIM卡的IMSI号码发送给所述应用。

应用可以通过调用包装接口getDataSimSlot向管理器发送获取作为数据卡的SIM卡的卡槽号的请求,管理器收到来自应用的获取作为数据卡的SIM卡的卡槽号的请求,获得包装接口getDataSimSlot的信息,并获取与所述包装接口getDataSimSlot的信息对应的私有接口信息,根据所述私有接口信息调用私有接口,获得当前作为数据卡的SIM卡的卡槽号,之后将作为数据卡的SIM卡的卡槽号发送给所述应用。

本实施例通过预先收集多卡终端的终端信息和私有接口的信息,根据终端私有接口的功能,将功能相似的接口进行归纳,向外统一包装成完全一致的终端开发接口,将这些接口信息与终端信息对应存储于服务器;当终端应用需要获取所在终端的SIM卡信息时,首先从管理器获得一个管理器实例,管理器从服务器获得终端的私有接口信息,该应用使用管理器实例向管理器请求SIM卡信息,由管理器调用相应的私有接口来获得SIM卡信息并返回给应用。本方案能够解决应用无法在多卡终端上获取SIM卡信息的问题;由服务器存储多卡终端的终端信息和私有接口信息,可以覆盖市面上所有的多卡终端,适用广泛;当终端系统升级导致私有接口改变,可以及时获取到新的私有接口,确保终端应用的功能正常运行。

实施例二

本发明实施例提供了一种获取SIM卡信息的方法,所述方法如图3所示,包括:

S301:向管理器发送实例获取请求,所述请求用于获取管理器实例,所述管理器用于调用实例创建函数创建管理器实例,所述管理器实例包括至少一个包装接口信息;

S302:接收管理器返回的管理器实例;

S303:调用与所述管理器实例的包装接口信息对应的包装接口,向所述管理器发送SIM卡信息获取请求;

S304:接收所述管理器返回的所述终端的SIM卡信息。

作为一种优选地实施方式,所述终端的SIM卡信息包括:SIM卡数量、指定卡槽的SIM卡的IMSI号码、指定卡槽的SIM卡的电话号码和作为数据卡的SIM卡的卡槽号;所述包装接口信息包括包装接口getSimCount的信息、包装接口getPhoneNumber(simSlot)的信息、包装接口getIMSI(simSlot)的信息和包装接口getDataSimSlot的信息。相应地,所述步骤S303包括:

调用包装接口getSimCount的信息对应的接口getSimCount,向所述管理器发送获取SIM卡数量的请求;或,

根据指定的卡槽号,调用包装接口getPhoneNumber(simSlot)的信息对应的接口getPhoneNumber(simSlot),向所述管理器发送获取指定卡槽的SIM卡的电话号码的请求;或,

根据指定的卡槽号,调用包装接口getIMSI(simSlot)的信息对应的接口getIMSI(simSlot),向所述管理器发送获取指定卡槽的SIM卡的IMSI号码的请求;或,

调用包装接口getDataSimSlot的信息对应的接口getDataSimSlot,向所述管理器发送获取作为数据卡的SIM卡的卡槽号的请求。

本实施例方法用于应用端,首先,应用向管理器获取一个管理器实例,然后通过管理器实例的包装接口信息,调用管理器实例的包装接口,从而向管理器获取SIM卡信息。以腾讯视频为例,当应用获得SIM卡信息之后,可以完成以下功能:

一:在个人中心界面上展示所述SIM卡信息。

二:根据IMSI号,从服务器查询到多张SIM卡的免流量订阅信息,并同时展示给用户。

三:自动为当前数据卡做免流量播放,自动感知用户切换数据卡的操作,并自动为用户激活免流量订阅关系。

本实施例能够解决应用无法在多卡终端上获取SIM卡信息的问题;当终端系统升级导致私有接口改变,可以及时获取到新的私有接口,确保终端应用的功能正常运行,提升用户体验。

实施例三

本发明实施例提供了一种获取SIM卡信息的方法,参见图4,包括:

步骤一,应用向管理器获取实例;

步骤二,管理器调用实例创建函数创建管理器实例,将管理器实例发送至所述应用;同时向服务器发送携带终端信息的接口文档获取请求;

步骤三,服务器根据终端信息查询得到接口文档,并向管理器返回终端的接口文档;

步骤四,管理器接收并保存接口文档;

步骤五,应用接收并保存管理器实例,调用管理器实例中包装接口信息对应的包装接口,向管理器发送获取终端的SIM卡信息的请求;

步骤六:管理器根据接口文档中,私有接口信息与包装接口信息的映射关系,获取与应用的SIM卡信息获取请求携带的包装接口信息对应的私有接口信息,根据所述私有接口信息调用私有接口,获得终端的SIM卡信息,并将所述SIM卡信息发送给应用。

本方案通过SDK(Software Development Kit,软件开发套件)来对外提供功能。应用开发者将SDK中的jar包导入工程,根据SDK的文档初始化以及调用相应的接口,即可得到其运行的Android终端的SIM信息。本实施例中,SDK提供了一个管理器类DualTelephonyManager,其对外暴露接口getInstance、getSimCount、getIMSI(simSlot)、getPhoneNumber(simSlot)和getDataSimSlot。DualTelephonyManager通过DualTeleponyManager.getInstance()创建得到管理器实例,此时管理器对象会被初始化,并和服务器通信,得到终端的私有接口并保存;后续可以调用getSimCount()来得到当前手机的SIM卡数量,通过getIMSI来得到指定卡槽的SIM卡的IMSI号码,通过getPhoneNumber来得到指定卡槽的SIM卡的电话号码,通过getDataSimSlot来得到当前作为数据卡的卡槽号。

参见图5,以双卡手机为例,本实施例的方案可以分为3个层次,即App访问DualTelephonyManager(双卡电话管理器)来得到相应的SIM信息,DualTelephonyManager通过服务器得到双卡手机的私有接口,DualTelephonyManager通过Java的反射方法等调用这些私有接口得到App需要的SIM卡信息。

实施例四

本发明还提供了一种获取SIM卡信息的装置,所述装置可用于实施上述实施例一的获取SIM卡信息的方法,如图6所示,获取SIM卡信息的装置600包括:

第一接收单元601,用于接收来自运行于终端的应用的实例获取请求,所述请求用于获取管理器实例;

实例创建单元602,用于调用实例创建函数以创建管理器实例,所述管理器实例包括至少一个包装接口信息;

第一发送单元603,用于将所述管理器实例发送至所述应用;

接口文档获取单元604,用于从服务器获取所述终端的接口文档,所述接口文档包括私有接口信息以及所述私有接口信息与所述包装接口信息的映射关系;

第二接收单元606,用于接收来自所述应用的SIM卡信息获取请求,所述请求携带所述管理器实例的包装接口信息;

处理单元607,用于根据所述私有接口信息与所述包装接口信息的映射关系,获取与所述包装接口信息对应的私有接口信息;

所述处理单元607,还用于基于所述私有接口信息调用私有接口,获得所述终端的SIM卡信息;

第二发送单元608,用于将所述终端的SIM卡信息返回至所述应用。

作为一种优选的方式,所述接口文档获取单元604包括:

获取模块6041,用于获取所述终端的终端信息,所述终端信息包括终端的设备信息和系统版本信息;

发送模块6042,用于向服务器发送接口文档查询请求,所述查询请求携带所述终端信息,所述服务器用于接收所述查询请求并返回与所述终端信息对应的接口文档;

接收模块6043,用于接收服务器返回的所述终端的接口文档。

作为一种优选的方式,所述获取SIM卡信息的装置600还包括:

接口文档存储单元605,用于查询本地是否存储有所述终端的接口文档;若否,保存所述服务器返回的接口文档;若是,判断本地保存的接口文档与服务器返回的接口文档是否相同,若是,丢弃所述服务器返回的接口文档,若否,用服务器返回的接口文档替换本地保存的接口文档。

作为一种优选的方式,所述终端的SIM卡信息包括:SIM卡数量、指定卡槽的SIM卡的IMSI号码、指定卡槽的SIM卡的电话号码和作为数据卡的SIM卡的卡槽号;所述包装接口信息包括包装接口getSimCount的信息、包装接口getPhoneNumber(simSlot)的信息、包装接口getIMSI(simSlot)的信息和包装接口getDataSimSlot的信息。

作为一种优选的方式,所述第二接收单元606包括:

第一接收模块,用于接收来自所述应用的获取SIM卡数量的请求,所述请求携带包装接口getSimCount的信息;

第二接收模块,用于接收来自所述应用的获取指定卡槽的SIM卡的IMSI号码的请求,所述请求携带包装接口getIMSI(simSlot)的信息和指定的卡槽号;

第三接收模块,用于接收来自所述应用的获取指定卡槽的SIM卡的电话号码的请求,所述请求携带包装接口getPhoneNumber(simSlot)的信息和指定的卡槽号;

第四接收模块,用于接收来自所述应用的获取作为数据卡的SIM卡的卡槽号的请求,所述请求携带包装接口getDataSimSlot的信息。

作为一种优选的方式,所述处理单元607包括:

第一处理模块,用于当接收到来自所述应用的获取SIM卡数量的请求时,获取与所述包装接口getSimCount的信息对应的私有接口信息,根据所述私有接口信息调用私有接口,获得SIM卡数量;

第二处理模块,用于当接收到来自所述应用的获取指定卡槽的SIM卡的IMSI号码的请求时,获取与所述包装接口getIMSI(simSlot)的信息对应的私有接口信息,根据所述私有接口信息和指定的卡槽号调用私有接口,获得指定卡槽的SIM卡的IMSI号码;

第三处理模块,用于当接收到来自所述应用的获取指定卡槽的SIM卡的电话号码的请求时,获取与所述包装接口getPhoneNumber(simSlot)的信息对应的私有接口信息,根据所述私有接口信息和指定的卡槽号调用私有接口,获得指定卡槽的SIM卡的电话号码;

第四处理模块,用于当接收到来自所述应用的获取作为数据卡的SIM卡的卡槽号的请求时,获取与所述包装接口getDataSimSlot的信息对应的私有接口信息,根据所述私有接口信息调用私有接口,获得当前作为数据卡的SIM卡的卡槽号。

实施例五

本发明还提供了一种获取SIM卡信息的装置,所述装置可用于实施上述实施例二的获取SIM卡信息的方法,如图7所示,获取SIM卡信息的装置700包括:

实例获取单元701,用于向管理器发送实例获取请求,所述请求用于获取管理器实例,所述管理器用于调用实例创建函数创建管理器实例,所述管理器实例包括至少一个包装接口信息;

实例接收单元702,用于接收管理器返回的管理器实例;

SIM卡信息获取单元703,用于调用与所述管理器实例的包装接口信息对应的包装接口,向所述管理器发送SIM卡信息获取请求;

SIM卡信息接收单元704,用于接收所述管理器返回的所述终端的SIM卡信息。

作为一种优选的方式,所述终端的SIM卡信息包括:SIM卡数量、指定卡槽的SIM卡的IMSI号码、指定卡槽的SIM卡的电话号码和作为数据卡的SIM卡的卡槽号;所述包装接口信息包括包装接口getSimCount的信息、包装接口getPhoneNumber(simSlot)的信息、包装接口getIMSI(simSlot)的信息和包装接口getDataSimSlot的信息。

作为一种优选的方式,所述SIM卡信息获取单元703包括:

第一SIM卡信息获取模块,用于调用包装接口getSimCount的信息对应的接口getSimCount,向所述管理器发送获取SIM卡数量的请求;

第二SIM卡信息获取模块,用于根据指定的卡槽号,调用包装接口getPhoneNumber(simSlot)的信息对应的接口getPhoneNumber(simSlot),向所述管理器发送获取指定卡槽的SIM卡的电话号码的请求;

第三SIM卡信息获取模块,用于根据指定的卡槽号,调用包装接口getIMSI(simSlot)的信息对应的接口getIMSI(simSlot),向所述管理器发送获取指定卡槽的SIM卡的IMSI号码的请求;

第四SIM卡信息获取模块,用于调用包装接口getDataSimSlot的信息对应的接口getDataSimSlot,向所述管理器发送获取作为数据卡的SIM卡的卡槽号的请求。

实施例六

本发明还提供了一种终端,所述终端包括上述实施例四所述的获取SIM卡信息的装置600和实施例五所述的获取SIM卡信息的装置700。

实施例七

本发明还提供了一种获取SIM卡信息的系统,本实施例能够用于实现上述实施例三中提供的获取SIM卡信息的方法,所述系统包括实施例六所述的终端和服务器,如图8所示,服务器800包括:

信息收集单元801,用于收集多卡终端的终端信息和私有接口信息;

接口文档生成单元802,用于根据与所述私有接口信息对应的私有接口的功能和与所述包装接口信息对应的包装接口的功能,建立所述私有接口信息与所述包装接口信息的映射关系;根据所述私有接口信息和该私有接口信息与包装接口信息的映射关系生成接口文档;

存储单元803,用于将所述接口文档与所述终端信息对应存储;

请求接收单元804,用于接收接口文档获取请求,所述请求携带终端信息;

接口文档查询单元805,用于根据所述请求携带的终端信息查找与所述终端信息对应的接口文档;

接口文档发送单元806,用于向外发送所述终端信息对应的接口文档。

对于市面上已有的多卡终端,通过反向工程或者厂商合作得到这些终端的私有开发接口,并归纳各厂商间相似的接口,对外统一包装成完全一致的终端开发接口(getSimCount、getIMSI(simSlot)、getPhoneNumber(simSlot)、getDataSimSlot)。本实施例通过在服务器云端存储终端信息和对应的接口文档,并且后续不断将新上市的多卡终端的相关内容补充到服务器上,当终端应用使用本方案提供的开发接口(SDK)来获取需要的信息时,SDK访问后台服务器,通过终端信息得到厂商的私有开发接口,SDK在终端上调用这些私有开发接口,得到相应的信息返回给终端应用。本方案能够解决应用无法在多卡终端上获取SIM卡信息的问题;由服务器存储多卡终端的终端信息和私有接口信息,可以覆盖市面上所有的多卡终端,适用广泛;当终端系统升级导致私有接口改变,可以及时获取到新的私有接口,确保终端应用的功能正常运行。

实施例八

本发明实施例还提供了一种终端,如图9所示,该终端可以用于实施上述实施例中提供的获取SIM卡信息的方法。具体来讲:

所述终端可以包括RF(RadioFrequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(wirelessfidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图9中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。

存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述终端的使用所创建的数据等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。

输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元140可用于显示由用户输入的信息或提供给用户的信息以及所述终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图9中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。

所述终端还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在所述终端移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于所述终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路160、扬声器161,传声器162可提供用户与所述终端之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与所述终端的通信。

WiFi属于短距离无线传输技术,所述终端通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了WiFi模块170,但是可以理解的是,其并不属于所述终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器180是所述终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行所述终端的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。

所述终端还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管未示出,所述终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行述一个或者一个以上程序包含用于进行以下操作的指令:

响应来自运行于终端的应用的实例获取请求,所述请求用于获取管理器实例;调用实例创建函数以创建管理器实例,所述管理器实例包括至少一个包装接口信息;

将所述管理器实例发送至所述应用;

从服务器获取所述终端的接口文档,所述接口文档包括私有接口信息以及所述私有接口信息与所述包装接口信息的映射关系;

接收来自所述应用的SIM卡信息获取请求,所述请求携带所述管理器实例的包装接口信息;

根据所述私有接口信息与所述包装接口信息的映射关系,获取与所述包装接口信息对应的私有接口信息;

基于所述私有接口信息调用私有接口,获得所述终端的SIM卡信息;

将所述终端的SIM卡信息返回至所述应用。

进一步地,终端的存储器中,还包含用于执行以下操作的指令:

获取所述终端的终端信息,所述终端信息包括终端的设备信息和系统版本信息;

向服务器发送接口文档查询请求,所述查询请求携带所述终端信息,所述服务器用于接收所述查询请求并返回与所述终端信息对应的接口文档;

接收服务器返回的所述终端的接口文档。

进一步地,终端的存储器中,还包含用于执行以下操作的指令:

所述接收服务器返回的所述终端的私有接口之后,还包括:

查询本地是否存储有所述终端的接口文档;

若否,保存所述服务器返回的接口文档;

若是,判断本地保存的接口文档与服务器返回的接口文档是否相同,若是,丢弃所述服务器返回的接口文档,若否,用服务器返回的接口文档替换本地保存的接口文档。。

进一步地,终端的存储器中,还包含用于执行以下操作的指令:

所述终端的SIM卡信息包括:SIM卡数量、指定卡槽的SIM卡的IMSI号码、指定卡槽的SIM卡的电话号码和作为数据卡的SIM卡的卡槽号;所述包装接口信息包括包装接口getSimCount的信息、包装接口getPhoneNumber(simSlot)的信息、包装接口getIMSI(simSlot)的信息和包装接口getDataSimSlot的信息。

接收来自所述应用的获取SIM卡数量的请求,所述请求携带包装接口getSimCount的信息;或,

接收来自所述应用的获取指定卡槽的SIM卡的IMSI号码的请求,所述请求携带包装接口getIMSI(simSlot)的信息和指定的卡槽号;或,

接收来自所述应用的获取指定卡槽的SIM卡的电话号码的请求,所述请求携带包装接口getPhoneNumber(simSlot)的信息和指定的卡槽号;或,

接收来自所述应用的获取作为数据卡的SIM卡的卡槽号的请求,所述请求携带包装接口getDataSimSlot的信息。

进一步地,终端的存储器中,还包含用于执行以下操作的指令:

当接收到来自所述应用的获取SIM卡数量的请求时,获取与所述包装接口getSimCount的信息对应的私有接口信息,根据所述私有接口信息调用私有接口,获得SIM卡数量;

当接收到来自所述应用的获取指定卡槽的SIM卡的IMSI号码的请求时,获取与所述包装接口getIMSI(simSlot)的信息对应的私有接口信息,根据所述私有接口信息和指定的卡槽号调用私有接口,获得指定卡槽的SIM卡的IMSI号码;

当接收到来自所述应用的获取指定卡槽的SIM卡的电话号码的请求时,获取与所述包装接口getPhoneNumber(simSlot)的信息对应的私有接口信息,根据所述私有接口信息和指定的卡槽号调用私有接口,获得指定卡槽的SIM卡的电话号码;

当接收到来自所述应用的获取作为数据卡的SIM卡的卡槽号的请求时,获取与所述包装接口getDataSimSlot的信息对应的私有接口信息,根据所述私有接口信息调用私有接口,获得当前作为数据卡的SIM卡的卡槽号。

实施例九

本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,一个或者一个以上程序被一个或者一个以上的处理器用来执行防止信息泄露的方法,所述方法包括:

响应来自运行于终端的应用的实例获取请求,所述请求用于获取管理器实例;调用实例创建函数以创建管理器实例,所述管理器实例包括至少一个包装接口信息;

将所述管理器实例发送至所述应用;

从服务器获取所述终端的接口文档,所述接口文档包括私有接口信息以及所述私有接口信息与所述包装接口信息的映射关系;

接收来自所述应用的SIM卡信息获取请求,所述请求携带所述管理器实例的包装接口信息;

根据所述私有接口信息与所述包装接口信息的映射关系,获取与所述包装接口信息对应的私有接口信息;

基于所述私有接口信息调用私有接口,获得所述终端的SIM卡信息;

将所述终端的SIM卡信息返回至所述应用。

进一步地,该方法还包括:所述从服务器获取所述终端的接口文档,包括:获取所述终端的终端信息,所述终端信息包括终端的设备信息和系统版本信息;向服务器发送接口文档查询请求,所述查询请求携带所述终端信息,所述服务器用于接收所述查询请求并返回与所述终端信息对应的接口文档;接收服务器返回的所述终端的接口文档。

进一步地,该方法还包括:所述服务器用于:收集多卡终端的终端信息和私有接口信息,根据与所述私有接口信息对应的私有接口的功能和与所述包装接口信息对应的包装接口的功能,建立所述私有接口信息与所述包装接口信息的映射关系,根据所述私有接口信息和该私有接口信息与包装接口信息的映射关系生成接口文档,将所述接口文档与所述终端信息对应存储。

进一步地,该方法还包括:所述接收服务器返回的所述终端的私有接口之后,还包括:

查询本地是否存储有所述终端的接口文档;

若否,保存所述服务器返回的接口文档;

若是,判断本地保存的接口文档与服务器返回的接口文档是否相同,若是,丢弃所述服务器返回的接口文档,若否,用服务器返回的接口文档替换本地保存的接口文档。

进一步地,该方法还包括:所述终端的SIM卡信息包括:SIM卡数量、指定卡槽的SIM卡的IMSI号码、指定卡槽的SIM卡的电话号码和作为数据卡的SIM卡的卡槽号;所述包装接口信息包括包装接口getSimCount的信息、包装接口getPhoneNumber(simSlot)的信息、包装接口getIMSI(simSlot)的信息和包装接口getDataSimSlot的信息。所述接收来自所述应用的SIM卡信息获取请求,所述请求携带所述管理器实例的包装接口信息,包括:

接收来自所述应用的获取SIM卡数量的请求,所述请求携带包装接口getSimCount的信息;或,

接收来自所述应用的获取指定卡槽的SIM卡的IMSI号码的请求,所述请求携带包装接口getIMSI(simSlot)的信息和指定的卡槽号;或,

接收来自所述应用的获取指定卡槽的SIM卡的电话号码的请求,所述请求携带包装接口getPhoneNumber(simSlot)的信息和指定的卡槽号;或,接收来自所述应用的获取作为数据卡的SIM卡的卡槽号的请求,所述请求携带包装接口getDataSimSlot的信息。

进一步地,该方法还包括:所述根据所述私有接口信息与所述包装接口信息的映射关系,获取与所述包装接口信息对应的私有接口信息;基于所述私有接口信息调用私有接口,获得所述终端的SIM卡信息,包括:

当接收到来自所述应用的获取SIM卡数量的请求时,获取与所述包装接口getSimCount的信息对应的私有接口信息,根据所述私有接口信息调用私有接口,获得SIM卡数量;

当接收到来自所述应用的获取指定卡槽的SIM卡的IMSI号码的请求时,获取与所述包装接口getIMSI(simSlot)的信息对应的私有接口信息,根据所述私有接口信息和指定的卡槽号调用私有接口,获得指定卡槽的SIM卡的IMSI号码;

当接收到来自所述应用的获取指定卡槽的SIM卡的电话号码的请求时,获取与所述包装接口getPhoneNumber(simSlot)的信息对应的私有接口信息,根据所述私有接口信息和指定的卡槽号调用私有接口,获得指定卡槽的SIM卡的电话号码;

当接收到来自所述应用的获取作为数据卡的SIM卡的卡槽号的请求时,获取与所述包装接口getDataSimSlot的信息对应的私有接口信息,根据所述私有接口信息调用私有接口,获得当前作为数据卡的SIM卡的卡槽号。

实施例十

本发明实施例还提供的一种服务器结构示意图,如图10所示。该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,CPU)922(例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器922可以设置为与存储介质930通信,在服务器900上执行存储介质930中的一系列指令操作。服务器900还可以包括一个或一个以上电源926,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口958,和/或,一个或一个以上操作系统941,例如WindowsServerTM,MacOSXTM,UnixTM,LinuxTM,FreeBSDTM等等。上述方法实施例中所述涉及的服务器的相关功能可以基于该图10所示的服务器结构。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的终端,可通过其它的方式实现。其中,以上所描述的系统实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1