CN109711221B - 一种多应用智能卡及其查询应用监听关系的方法 - Google Patents
一种多应用智能卡及其查询应用监听关系的方法 Download PDFInfo
- Publication number
- CN109711221B CN109711221B CN201811624343.XA CN201811624343A CN109711221B CN 109711221 B CN109711221 B CN 109711221B CN 201811624343 A CN201811624343 A CN 201811624343A CN 109711221 B CN109711221 B CN 109711221B
- Authority
- CN
- China
- Prior art keywords
- application
- module
- monitoring
- monitored application
- monitored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
本发明公开一种多应用智能卡及其查询应用监听关系的方法,涉及智能卡领域;所述方法包括当接收到读卡器发送的查询指令时,多应用智能卡根据解析得到的监听应用ID查找与监听应用ID对应的监听应用列表;从监听应用列表中获取一个被监听应用ID作为当前被监听应用ID;判断监听应用列表中与当前被监听应用ID所对应的状态数据是否满足预设条件,如果否则从监听应用列表中获取下一个被监听应用ID作为当前被监听应用ID,继续执行判断是否满足预设条件;如果是则将与满足预设条件的状态数据所对应的当前被监听应用ID存入可选监听应用列表中,根据可选监听应用列表中所有被监听应用ID生成被监听应用数据响应,发送被监听应用数据响应至读卡器。
Description
技术领域
本发明涉及智能卡领域,尤其涉及一种多应用智能卡及其查询应用监听关系的方法。
背景技术
智能卡(SmartCard):内嵌有微芯片的塑料卡(通常是一张信用卡的大小)的通称,其中,“智能一卡通”是以IC卡技术为核心,以计算机和通信技术为手段,将智能建筑内部的各项设施连接成为一个有机的整体,用户通过一张IC卡便可完成通常的钥匙、资金结算、考勤和某些控制操作,如用IC卡开启房门、IC卡就餐、购物、娱乐、会议、停车、巡更、办公、收费服务等各项活动。
随着智能卡使用功能的增加,安装在智能卡上的应用也逐渐增多,即为使用越来越广泛的多应用智能卡,但是用户无法便捷迅速地确定多应用智能卡上是否安装了所需应用及所需应用目前是否可用,更无法监听某一类或者某一些应用的状态,即无法实时知道想了解的应用的安装下载状态等实时状态,且用户无法统一管理某一类或者某一些应用,所以用户体验很差。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种多应用智能卡及其查询应用监听关系的方法。
本发明提供了一种多应用智能卡查询应用监听关系的方法,包括以下步骤:
步骤S1:当多应用智能卡接收到读卡器发送的查询指令时,所述多应用智能卡解析所述查询指令得到监听应用ID,根据所述监听应用ID查找与所述监听应用ID对应的监听应用列表;从所述监听应用列表中获取一个被监听应用ID作为当前被监听应用ID;
步骤S2:所述多应用智能卡判断预置的非接注册表中是否存在所述当前被监听应用ID,是则执行步骤S3,否则执行步骤S5;
步骤S3:所述多应用智能卡判断所述监听应用列表中与所述当前被监听应用ID所对应的状态数据是否满足预设条件,是则执行步骤S4,否则执行步骤S5;
步骤S4:所述多应用智能卡将与满足预设条件的状态数据所对应的当前被监听应用ID存入可选监听应用列表中,执行步骤S5;
步骤S5:所述多应用智能卡判断所述监听应用列表中是否还有未被作为当前被监听应用ID的被监听应用ID,是则从所述监听应用列表中获取下一个被监听应用ID作为当前被监听应用ID,返回步骤S2;否则执行步骤S6;
步骤S6:所述多应用智能卡根据所述可选监听应用列表中所有被监听应用ID生成被监听应用数据响应,发送所述被监听应用数据响应至所述读卡器。
本发明又提供了一种多应用智能卡,包括接收模块、第一解析模块、查找模块、第一获取模块、第一判断模块、第二判断模块、保存模块、第三判断模块、第二获取模块、第一生成模块和发送模块:
所述接收模块,用于接收读卡器发送的查询指令;
所述第一解析模块,用于解析所述接收模块接收的所述查询指令得到监听应用ID;
所述查找模块,用于根据所述第一解析模块解析得到的所述监听应用ID查找与所述第一解析模块解析得到的所述监听应用ID对应的监听应用列表;
所述第一获取模块,用于从所述查找模块查找到的所述监听应用列表中获取一个被监听应用ID作为当前被监听应用ID;
所述第一判断模块,用于判断预置的非接注册表中是否存在所述当前被监听应用ID;
所述第二判断模块,用于当所述第一判断模块判断为是时,判断所述查找模块查找到的所述监听应用列表中与所述当前被监听应用ID所对应的状态数据是否满足预设条件;
所述保存模块,用于当所述第二判断模块判断为是时,将与满足预设条件的状态数据所对应的当前被监听应用ID存入可选监听应用列表中;
所述第三判断模块,用于当所述第一判断模块判断为否时或所述保存模块将与满足预设条件的状态数据所对应的ID存入可选监听应用列表中后,判断所述查找模块查找到的所述监听应用列表中是否还有未被作为当前被监听应用ID的被监听应用ID;
所述第二获取模块,用于当所述第三判断模块判断为是时,从所述查找模块查找到的所述监听应用列表中获取下一个被监听应用ID作为当前被监听应用ID;
所述第一判断模块,还用于在所述第二获取模块从所述查找模块查找到的所述监听应用列表中获取下一个被监听应用ID作为当前被监听应用ID后,判断预置的非接注册表中是否存在所述第二获取模块获取的所述当前被监听应用ID;
所述第一生成模块,用于当所述第三判断模块判断为否时,根据所述保存模块存入当前被监听应用ID后得到的所述可选监听应用列表中所有被监听应用ID生成被监听应用数据响应;
所述发送模块,用于发送所述第一生成模块生成的所述被监听应用数据响应至所述读卡器。
本发明与现有技术相比,具有以下优点:本发明提供的一种多应用智能卡及其查询应用监听关系的方法,通过建立监听应用与被监听应用之间的监听关系并对监听应用下发查询指令,用户能够迅速查询被监听应用(用户的所需应用)是否已经安装及是否可用;可以统一管理某一类或某一些应用并获得这些应用的可用状态、非接状态及生命周期等被监听应用数据,提高了用户体验。
附图说明
图1为本发明实施例一提供的一种多应用智能卡查询应用监听关系的方法的流程图;
图2-1、图2-2、图2-3、图2-4及图2-5为本发明实施例二提供的一种多应用智能卡查询应用监听关系的方法中的建立应用监听关系的方法的流程图;
图3为本发明实施例三提供的一种多应用智能卡查询应用监听关系的方法的流程图;
图4为本发明实施例四提供的一种多应用智能卡查询应用监听关系的方法的流程图;
图5为本发明实施例五提供的一种多应用智能卡。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供一种多应用智能卡查询应用监听关系的方法,如图1所示,包括以下步骤:
步骤101:当多应用智能卡接收到读卡器发送的查询指令时,多应用智能卡解析查询指令得到监听应用ID,根据监听应用ID查找与监听应用ID对应的监听应用列表;从监听应用列表中获取一个被监听应用ID作为当前被监听应用ID;
可选地,步骤101中,当多应用智能卡接收到读卡器发送的查询指令时,多应用智能卡解析查询指令得到监听应用ID,具体为:
当多应用智能卡接收到读卡器发送的第一指令时,多应用智能卡解析第一指令得到事件类型数据;根据事件类型数据判断第一指令的指令类型,当第一指令为查询指令时,多应用智能卡解析查询指令得到监听应用ID,否则向读卡器发送警示信息。
可选地,步骤101中,多应用智能卡解析查询指令得到监听应用ID之后,还包括:
多应用智能卡判断预置的非接注册表中是否存在监听应用ID,是则根据监听应用ID查找与监听应用ID对应的监听应用列表,否则向读卡器发送警示信息。
步骤102:多应用智能卡判断预置的非接注册表中是否存在当前被监听应用ID,是则执行步骤103,否则执行步骤105;
步骤103:多应用智能卡判断监听应用列表中与当前被监听应用ID所对应的状态数据是否满足预设条件,是则执行步骤104,否则执行步骤105;
可选地,步骤103具体为,多应用智能卡根据当前被监听应用ID从监听应用列表中查找当前被监听应用的生命周期和非接状态,判断当前被监听应用的生命周期是否为可选阶段,并判断当前被监听应用的非接状态是否为激活状态,当第二判断模块判断当前被监听应用的生命周期是可选阶段且当前被监听应用的非接状态为激活状态时,执行步骤104,否则执行步骤105。
步骤104:多应用智能卡将与满足预设条件的状态数据所对应的当前被监听应用ID存入可选监听应用列表中,执行步骤105;
可选地,步骤104之前,还包括:多应用智能卡建立可选监听应用列表或者多应用智能卡清空预置的可选监听应用列表。
步骤105:多应用智能卡判断监听应用列表中是否还有未被作为当前被监听应用ID的被监听应用ID,是则从监听应用列表中获取下一个被监听应用ID作为当前被监听应用ID,返回步骤102;否则执行步骤106;
步骤106:多应用智能卡根据可选监听应用列表中所有被监听应用ID生成被监听应用数据响应,发送被监听应用数据响应至读卡器;
可选地,步骤106之前,还包括:
多应用智能卡根据可选监听应用列表中的被监听应用ID从监听应用列表中获取与被监听应用ID分别对应的被监听应用数据;
多应用智能卡根据可选监听应用列表中所有被监听应用ID生成被监听应用数据响应,具体为:
多应用智能卡根据所有被监听应用ID和与被监听应用ID分别对应的被监听应用数据生成被监听应用数据响应;
更进一步地,步骤106中,监听应用数据具体为与被监听应用ID对应的生命周期和/或非接状态和/或生命周期和/或非接优先级和/或非接协议参数和/或屏幕显示信息。
可选地,本实施例中所述的多应用智能卡包括操作系统和监听应用;
步骤101具体为:
步骤10101:当操作系统接收到读卡器发送的查询指令时,操作系统解析查询指令得到监听应用ID,根据监听应用ID发送查询指令至监听应用;
步骤10102:监听应用从预置的监听应用列表中获取一个被监听应用ID作为当前被监听应用ID;
步骤102具体为:
步骤10201:监听应用发送当前被监听应用ID至操作系统;
步骤10202:操作系统判断预置的非接注册表中是否存在当前被监听应用ID,是则发送当前被监听应用已存在响应至监听应用,执行步骤10203,否则发送当前被监听应用不存在响应至监听应用,执行步骤10204;
步骤10203:监听应用接收当前被监听应用已存在响应,执行步骤103;
步骤10204:监听应用接收当前被监听应用不存在响应,执行步骤105;
步骤103具体为:监听应用判断监听应用列表中与当前被监听应用ID所对应的状态数据是否满足预设条件,是则执行步骤104,否则执行步骤105;
步骤104具体为:监听应用将与满足预设条件的状态数据所对应的ID存入可选监听应用列表中,执行步骤105;
步骤105具体为:监听应用判断监听应用列表中是否还有未被作为当前被监听应用ID的被监听应用ID,是则从监听应用列表中获取下一个被监听应用ID作为当前被监听应用ID,返回步骤10201;否则执行步骤106;
步骤106具体为:
步骤10601:监听应用根据可选监听应用列表中所有被监听应用ID生成被监听应用数据包,发送被监听应用数据包至操作系统;
步骤10602:操作系统根据被监听应用数据包生成被监听应用数据响应,发送被监听应用数据响应至读卡器。
可选地,本实施例中所述的多应用智能卡包括操作系统、监听应用和被监听应用;步骤101之前,还包括:
步骤A1:当操作系统接收到读卡器发送的删除监听关系指令时,操作系统解析删除监听关系指令得到被监听应用ID,根据被监听应用ID发送删除监听关系指令至被监听应用;
步骤A2:被监听应用解析删除监听关系指令得到监听应用ID,判断预置的被监听应用列表中是否存在监听应用ID,是则执行步骤A3,否则向操作系统发送警示信息,执行步骤A6;
步骤A3:被监听应用将监听应用ID从被监听应用列表中删除,根据被监听应用ID生成删除监听关系通知,根据监听应用ID发送删除监听关系通知至监听应用;
步骤A4:监听应用解析删除监听关系通知得到被监听应用ID,判断预置的监听应用列表中是否存在被监听应用ID,是则执行步骤A7,否则向被监听应用发送警示信息,执行步骤A5;
步骤A5:被监听应用接收警示信息,向操作系统发送警示信息,执行步骤A6;
步骤A6:操作系统接收警示信息,向读卡器发送警示信息,结束;
步骤A7:监听应用将被监听应用ID从监听应用列表中删除,生成删除监听关系成功信息,发送删除监听关系成功信息至被监听应用;
步骤A8:被监听应用接收删除监听关系成功信息,发送删除监听关系成功信息至操作系统;
步骤A9:操作系统接收删除监听关系成功信息,发送删除监听关系成功信息至读卡器。
可选地,本实施例中所述的多应用智能卡包括操作系统、监听应用和被监听应用;步骤101之前,还包括:
步骤B1:当操作系统接收到读卡器发送的添加监听关系指令时,操作系统根据被监听应用ID发送添加监听关系指令至被监听应用;
步骤B2:被监听应用接收添加监听关系指令;解析添加监听关系指令得到监听应用ID,判断预置的被监听应用列表中是否存在监听应用ID,是则向操作系统发送警示信息,执行步骤B6,否则执行步骤B3;
步骤B3:被监听应用将监听应用ID添加到被监听应用列表,根据被监听应用ID生成添加监听关系通知,调用第四API根据监听应用ID发送添加监听关系通知至监听应用;
步骤B4:监听应用接收并解析添加监听关系通知得到被监听应用ID,判断预置的监听应用列表中是否存在被监听应用ID,是则向被监听应用发送警示信息,执行步骤B5,否则执行步骤B7;
步骤B5:被监听应用接收警示信息,向操作系统发送警示信息,执行步骤B6;
步骤B6:操作系统接收警示信息,发送警示信息至读卡器,结束;
步骤B7:监听应用将被监听应用ID添加到监听应用列表,生成添加监听关系成功信息,发送添加监听关系成功信息至被监听应用;
步骤B8:被监听应用接收添加监听关系成功信息,发送添加监听关系成功信息至操作系统;
步骤B9:操作系统接收添加监听关系成功信息,发送添加监听关系成功信息至读卡器。
可选地,本实施例中所述的多应用智能卡包括操作系统、监听应用和被监听应用;步骤101之前,还包括:
步骤C1:当操作系统接收到读卡器发送的生命周期切换指令时,操作系统根据被监听应用ID发送生命周期切换指令至被监听应用;
步骤C2:被监听应用接收并解析生命周期切换指令得到监听应用ID;切换自身的生命周期;判断预置的被监听应用列表中是否存在监听应用ID,是则执行步骤C3,否则向操作系统发送警示信息,执行步骤C6;
步骤C3:被监听应用根据被监听应用ID和切换后的生命周期生成生命周期切换通知,根据监听应用ID发送生命周期切换通知至监听应用;
步骤C4:监听应用接收并解析生命周期切换通知得到被监听应用ID和被监听应用的生命周期,判断预置的监听应用列表中是否存在被监听应用ID,是则执行步骤C7,否则向被监听应用发送警示信息,执行步骤C5;
步骤C5:被监听应用接收警示信息,向操作系统发送警示信息,执行步骤C6;
步骤C6:操作系统接收警示信息,发送警示信息至读卡器,结束;
步骤C7:监听应用根据被监听应用ID查找被监听应用的生命周期,根据解析得到的被监听应用的生命周期更新查找到的被监听应用的生命周期,生成生命周期切换成功信息,发送生命周期切换成功信息至被监听应用;
步骤C8:被监听应用接收生命周期切换成功信息,发送生命周期切换成功信息至操作系统;
步骤C9:操作系统接收生命周期切换成功信息,发送生命周期切换成功信息至读卡器。
可选地,本实施例中所述的多应用智能卡包括操作系统、监听应用和被监听应用;步骤101之前,还包括:
步骤D1:当操作系统接收到读卡器发送的非接状态切换指令时,操作系统根据被监听应用ID发送非接状态切换指令至被监听应用;
步骤D2:被监听应用接收并解析非接状态切换指令得到监听应用ID;切换自身的非接状态;判断预置的被监听应用列表中是否存在监听应用ID,是则执行步骤D3,否则向操作系统发送警示信息,执行步骤D6;
步骤D3:被监听应用根据被监听应用ID和切换后的非接状态生成非接状态切换通知,根据监听应用ID发送非接状态切换通知至监听应用;
步骤D4:监听应用接收并解析非接状态切换通知得到被监听应用ID和被监听应用的非接状态,判断预置的监听应用列表中是否存在被监听应用ID,是则执行步骤D7,否则向被监听应用发送警示信息,执行步骤D5;
步骤D5:被监听应用接收警示信息,向操作系统发送警示信息,执行步骤D6;
步骤D6:操作系统接收警示信息,发送警示信息至读卡器,结束;
步骤D7:监听应用根据被监听应用ID查找被监听应用的非接状态,根据解析得到的被监听应用的非接状态更新查找到的被监听应用的非接状态,生成非接状态切换成功信息,发送非接状态切换成功信息至被监听应用;
步骤D8:被监听应用接收非接状态切换成功信息,发送非接状态切换成功信息至操作系统;
步骤D9:操作系统接收非接状态切换成功信息,发送非接状态切换成功信息至读卡器。
更进一步地,本实施例中所述的警示信息具体为报错信息或者警告信息。
实施例二
本发明实施例二提供一种多应用智能卡查询应用监听关系的方法中的建立应用监听关系的方法,本实施例中的监听应用和被监听应用均为非接应用,所述方法中的多应用智能卡包括操作系统、监听应用与被监听应用,如图2-1、图2-2、图2-3、图2-4及图2-5所示,包括以下步骤:
步骤201:当操作系统接收到读卡器发送的第一指令时,操作系统解析第一指令得到事件类型数据和被监听应用ID;根据事件类型数据判断第一指令的类型,当第一指令为删除监听关系指令时,执行步骤202-1;当第一指令为添加监听关系指令时,执行步骤203-1;当第一指令为生命周期切换指令时,执行步骤204-1;当第一指令为非接状态切换指令时,执行步骤205-1;
例如,本实施例中,以第一指令为添加监听关系指令为例进行举例,第一指令包括0x3F个字节,为0x80E60C003B0CA000000151434C41420000010CA000000151434C41420001010CA000000151434C41420201010300000014EF12A110A40E4F0CA0000001514352454C01010100;
事件类型数据包括0x3B个字节,为0x0CA000000151434C41420000010CA000000151434C41420001010CA000000151434C41420201010300000014EF12A110A40E4F0CA0000001514352454C01010100;
被监听应用ID包括0C个字节,为;0xA000000151434C4142020101;
可选地,操作系统解析第一指令得到事件类型数据和被监听应用ID之后,还包括:操作系统判断预置的非接应用注册表中是否存在被监听应用ID,是则根据事件类型数据判断第一指令的类型,否则向读卡器发送警示信息;
步骤202-1:操作系统调用第一API根据被监听应用ID发送删除监听关系指令至被监听应用;
步骤202-2:被监听应用接收删除监听关系指令;解析删除监听关系指令得到监听应用ID,判断预置的被监听应用列表中是否存在监听应用ID,是则执行步骤202-4,否则向操作系统发送警示信息,执行步骤202-3;
步骤202-3:操作系统接收警示信息,发送警示信息至读卡器;
步骤202-4:被监听应用将监听应用ID从被监听应用列表中删除,根据被监听应用ID生成删除监听关系通知,调用第二API根据监听应用ID发送删除监听关系通知至监听应用;
步骤202-5:监听应用接收并解析删除监听关系通知得到被监听应用ID,判断预置的监听应用列表中是否存在被监听应用ID,是则执行步骤202-8,否则向被监听应用发送警示信息,执行步骤202-6;
步骤202-6:被监听应用接收警示信息,向操作系统发送警示信息;
步骤202-7:操作系统接收警示信息,发送警示信息至读卡器;
步骤202-8:监听应用将被监听应用ID从监听应用列表中删除,生成删除监听关系成功信息,发送删除监听关系成功信息至被监听应用;
步骤202-9:被监听应用接收删除监听关系成功信息,发送删除监听关系成功信息至操作系统;
步骤202-10:操作系统接收删除监听关系成功信息,发送删除监听关系成功信息至读卡器;
步骤203-1:操作系统调用第三API根据被监听应用ID发送添加监听关系指令至被监听应用;
例如,添加监听关系指令包括0x3F个字节,为0x80E60C003B0CA000000151434C41420000010CA000000151434C41420001010CA000000151434C41420201010300000014EF12A110A40E4F0CA0000001514352454C01010100;
被监听应用ID0x3C个字节,为0xA000000151434C4142020101;
步骤203-2:被监听应用接收添加监听关系指令;解析添加监听关系指令得到监听应用ID,判断预置的被监听应用列表中是否存在监听应用ID,是则向操作系统发送警示信息,执行步骤203-3,否则执行步骤203-4;
例如,监听应用ID包括0x0C个字节,为0xA0000001514352454C010101;
警示信息包括0x02个字节,为0x6892;
假如ID3=0xA0000001514352454C010101,被监听应用列表下表所述:
监听应用 |
ID1 |
ID5 |
ID7 |
ID8 |
ID4 |
ID3 |
ID6 |
ID2 |
步骤203-3:操作系统接收警示信息,发送警示信息至读卡器;
步骤203-4:被监听应用将监听应用ID添加到被监听应用列表,根据被监听应用ID生成添加监听关系通知,调用第四API根据监听应用ID发送添加监听关系通知至监听应用;
例如,假如0xA0000001514352454C010101不是ID1-ID8中任意一个,则被监听应用将监听应用ID添加到被监听应用列表,设监听应用ID为ID9,即ID9=0xA0000001514352454C010101,此时,被监听应用列表如下图所示:
监听应用 |
ID1 |
ID5 |
ID7 |
ID8 |
ID4 |
ID3 |
ID6 |
ID2 |
ID9 |
步骤203-5:监听应用接收并解析添加监听关系通知得到被监听应用ID,判断预置的监听应用列表中是否存在被监听应用ID,是则向被监听应用发送警示信息,执行步骤203-6,否则执行步骤203-8;
例如,被监听应用ID包括0x0C个字节,为0xA000000151434C4142020101;设ID19=0xA000000151434C4142020101,监听应用列表如下图所示,此时监听应用列表不存在ID19;
被监听应用 |
ID11 |
ID15 |
ID17 |
ID18 |
ID14 |
ID13 |
ID16 |
ID12 |
步骤203-6:被监听应用接收警示信息,向操作系统发送警示信息;
步骤203-7:操作系统接收警示信息,发送警示信息至读卡器;
步骤203-8:监听应用将被监听应用ID添加到监听应用列表,生成添加监听关系成功信息,发送添加监听关系成功信息至被监听应用;
例如,监听应用将被监听应用ID19=0xA000000151434C4142020101添加到监听应用列表中,监听应用列表如下图所示:
添加监听关系成功信息包括0x01个字节,为0x00;
步骤203-9:被监听应用接收添加监听关系成功信息,发送添加监听关系成功信息至操作系统;
步骤203-10:操作系统接收添加监听关系成功信息,发送添加监听关系成功信息至读卡器;
步骤204-1:操作系统调用第五API根据被监听应用ID发送生命周期切换指令至被监听应用;
步骤204-2:被监听应用接收并解析生命周期切换指令得到监听应用ID;切换自身的生命周期;判断预置的被监听应用列表中是否存在监听应用ID,是则执行步骤204-4,否则向操作系统发送警示信息,执行步骤204-3;
步骤204-3:操作系统接收警示信息,发送警示信息至读卡器;
步骤204-4:被监听应用根据被监听应用ID和切换后的生命周期生成生命周期切换通知,调用第六API根据监听应用ID发送生命周期切换通知至监听应用;
可选地,被监听应用的生命周期可包括已安装阶段、可使用阶段和应用锁定阶段;
步骤204-5:监听应用接收并解析生命周期切换通知得到被监听应用ID和被监听应用的生命周期,判断预置的监听应用列表中是否存在被监听应用ID,是则执行步骤204-8,否则向被监听应用发送警示信息,执行步骤204-6;
步骤204-6:被监听应用接收警示信息,向操作系统发送警示信息;
步骤204-7:操作系统接收警示信息,发送警示信息至读卡器;
步骤204-8:监听应用根据被监听应用ID查找被监听应用的生命周期,根据接收到的被监听应用的生命周期更新查找到的被监听应用的生命周期,生成生命周期切换成功信息,发送生命周期切换成功信息至被监听应用;
步骤204-9:被监听应用接收生命周期切换成功信息,发送生命周期切换成功信息至操作系统;
步骤204-10:操作系统接收生命周期切换成功信息,发送生命周期切换成功信息至读卡器;
步骤205-1:操作系统调用第七API根据被监听应用ID发送非接状态切换指令至被监听应用;
步骤205-2:被监听应用接收并解析非接状态切换指令得到监听应用ID;切换自身的非接状态;判断预置的被监听应用列表中是否存在监听应用ID,是则执行步骤205-4,否则向操作系统发送警示信息,执行步骤205-3;
步骤205-3:操作系统接收警示信息,发送警示信息至读卡器;
步骤205-4:被监听应用根据被监听应用ID和切换后的非接状态生成非接状态切换通知,调用第八API根据监听应用ID发送非接状态切换通知至监听应用;
可选地,被监听应用的非接状态可包括激活、非激活和休眠;
步骤205-5:监听应用接收并解析非接状态切换通知得到被监听应用ID和被监听应用的非接状态,判断预置的监听应用列表中是否存在被监听应用ID,是则执行步骤205-8,否则向被监听应用发送警示信息,执行步骤205-6;
步骤205-6:被监听应用接收警示信息,向操作系统发送警示信息;
步骤205-7:操作系统接收警示信息,发送警示信息至读卡器;
步骤205-8:监听应用根据被监听应用ID查找被监听应用的非接状态,根据接收到的被监听应用的非接状态更新查找到的被监听应用的非接状态,生成非接状态切换成功信息,发送非接状态切换成功信息至被监听应用;
步骤205-9:被监听应用接收非接状态切换成功信息,发送非接状态切换成功信息至操作系统;
步骤205-10:操作系统接收非接状态切换成功信息,发送非接状态切换成功信息至读卡器;
可选地,警示信息具体可以为报错信息或者警告信息等。
实施例三
本发明实施例三提供一种多应用智能卡查询应用监听关系的方法,所述方法中的多应用智能卡包括操作系统、监听应用与被监听应用,如图3所示,包括以下步骤:
步骤300:当操作系统接收到读卡器发送的第一指令时,操作系统解析第一指令得到事件类型数据和监听应用ID;根据事件类型数据判断第一指令的类型,当第一指令为第一查询指令时,执行步骤301,否则向读卡器发送警示信息;
可选地,否则向读卡器发送警示信息,可以替换为:当第一指令为其他指令时,操作系统继续执行其他操作;
步骤301:操作系统判断预置的非接应用注册表中是否存在监听应用ID,是则执行步骤302,否则向读卡器发送警示信息;
步骤302:操作系统调用第九API根据监听应用ID发送第一查询指令至监听应用;
步骤303:监听应用接收第一查询指令;建立可用监听应用列表;从预置的监听应用列表选取一个被监听应用ID作为当前被监听应用ID;
步骤304:监听应用根据当前被监听应用ID生成第二查询指令,调用第十API发送第二查询指令至操作系统;
步骤305:操作系统接收并解析第二查询指令得到当前被监听应用ID;判断预置的非接注册表中是否存在当前被监听应用ID,是则发送当前被监听应用已存在响应至监听应用,执行步骤307,否则发送当前被监听应用不存在响应至监听应用,执行步骤306;
步骤306:监听应用接收当前被监听应用不存在响应,执行步骤310;
步骤307:监听应用接收当前被监听应用已存在响应,根据当前被监听应用ID从监听应用列表中查找当前被监听应用的生命周期,判断查找到的当前被监听应用的生命周期是否为可选阶段,是则执行步骤308,否则执行步骤310;
步骤308:监听应用根据当前被监听应用ID从监听应用列表中查找当前被监听应用的非接状态,判断当前被监听应用的非接状态是否为激活状态,是则执行步骤309,否则执行步骤310;
步骤309:监听应用将当前被监听应用ID添加到可选监听应用列表;
可选地,本步骤之前,还包括:监听应用建立可选监听应用列表或者清空预置的可选监听应用列表;
步骤310:监听应用判断是否还有未被作为当前被监听应用ID的被监听应用ID,是则执行步骤311,否则执行步骤312;
可选地,本步骤具体为:监听应用将监听应用列表中被监听应用ID的个数减1,判断新的被监听应用ID的个数是否为0,是则执行步骤311,否则执行步骤312;
步骤311:监听应用将监听应用列表中的下一个被监听应用ID作为当前被监听应用ID,返回步骤304;
步骤312:监听应用根据可选监听应用列表中所有被监听应用ID从监听应用列表中查找与所有被监听应用ID分别对应的被监听应用数据,根据所有被监听应用ID及与所有被监听应用ID分别对应的被监听应用数据生成被监听应用数据包,发送被监听应用数据包至操作系统;
具体地,被监听应用数据包括被监听应用的非接状态和/或生命周期和/或非接优先级和/或非接协议参数和/或屏幕显示信息;
步骤313:操作系统接收被监听应用数据包,根据被监听应用数据包生成被监听应用数据响应,发送被监听应用数据响应至读卡器;
可选地,警示信息具体可以为报错信息或者警告信息等。
实施例四
本发明实施例四提供一种多应用智能卡查询应用监听关系的方法,如图4所示,包括以下步骤:
步骤400:当多应用智能卡接收到读卡器发送的第一指令时,多应用智能卡解析第一指令得到事件类型数据和监听应用ID;根据事件类型数据判断第一指令的指令类型,当第一指令为第一查询指令时,执行步骤401,否则向读卡器发送警示信息;
可选地,否则向读卡器发送警示信息,可以替换为:当第一指令为其他指令时,操作系统继续执行其他操作。
步骤401:多应用智能卡判断预置的非接应用注册表中是否存在监听应用ID,是则执行步骤402,否则向读卡器发送警示信息;
步骤402:多应用智能卡建立可用监听应用列表;根据监听应用ID查找与监听应用ID对应的预置的监听应用列表,从监听应用列表中选取一个被监听应用ID作为当前被监听应用ID;
可选地,可用监听应用列表可以新建,也可以清空多应用智能卡内部已经存在的可用监听应用列表;建立可用监听应用列表可以替换为:多应用智能卡清空可用监听应用列表。
可选地,步骤401和步骤402可以替换为步骤401-1和步骤402-1:
步骤401-1:当多应用智能卡接收到读卡器发送的第一指令时,多应用智能卡解析第一指令得到事件类型数据;根据事件类型数据判断第一指令的类型,当第一指令为第一查询指令时,执行步骤402,否则向读卡器发送警示信息;
步骤402-1:多应用智能卡解析第一指令得到监听应用ID;建立可用监听应用列表;根据监听应用ID查找与监听应用ID对应的预置的监听应用列表,从监听应用列表中选取一个被监听应用ID作为当前被监听应用ID;
步骤403:多应用智能卡判断预置的非接注册表中是否存在当前被监听应用ID,是则执行步骤404,否则执行步骤407
步骤404:多应用智能卡根据当前被监听应用ID从监听应用列表中查找当前被监听应用的生命周期,判断当前被监听应用的生命周期是否为可选阶段,是则执行步骤405,否则执行步骤407;
步骤405:多应用智能卡根据当前被监听应用ID从监听应用列表中查找当前被监听应用的非接状态,判断当前被监听应用的非接状态是否为激活状态,是则执行步骤406,否则执行步骤407;
可选地,步骤404与步骤405可以相互调换顺序,此时,步骤404与步骤405替换为以下顺序:
步骤404-1:多应用智能卡根据当前被监听应用ID从监听应用列表中查找当前被监听应用的非接状态,判断查找到的当前被监听应用的非接状态是否为激活状态,是则执行步骤405-1,否则执行步骤407;
步骤405-1:多应用智能卡根据当前被监听应用ID从监听应用列表中查找当前被监听应用的生命周期,判断当前被监听应用的生命周期是否为可选阶段,是则执行步骤406,否则执行步骤407;
步骤406:多应用智能卡将当前被监听应用ID添加到可选监听应用列表;
步骤407:多应用智能卡判断监听应用列表中是否还有未被作为当前被监听应用ID的被监听应用ID,是则执行步骤408,否则执行步骤409;
可选地,本步骤具体为:多应用智能卡将被监听应用列表中的被监听应用ID的数量减1,判断减1后的被监听应用的数量是否为0,是则执行步骤409,否则执行步骤408;
步骤408:多应用智能卡将监听应用列表中的下一个被监听应用ID作为当前被监听应用ID,返回步骤403;
步骤409:多应用智能卡根据可选监听应用列表中所有被监听应用ID从监听应用列表中查找与被监听应用ID对应的被监听应用数据,根据所有被监听应用ID和所有被监听应用ID分别对应的被监听应用数据生成被监听应用数据响应,发送被监听应用数据响应至读卡器;
具体地,被监听应用数据包括被监听应用的非接状态和/或生命周期和/或非接优先级和/或非接协议参数和/或屏幕显示信息。
实施例五
本发明实施例五提供一种多应用智能卡,如图5所示,包括接收模块501、第一解析模块502、查找模块503、第一获取模块504、第一判断模块505、第二判断模块506、保存模块507、第三判断模块508、第二获取模块509、第一生成模块510和发送模块511;
接收模块501,用于接收读卡器发送的查询指令;
第一解析模块502,用于解析接收模块501接收的查询指令得到监听应用ID;
查找模块503,用于根据第一解析模块502解析得到的监听应用ID查找与第一解析模块502解析得到的监听应用ID对应的监听应用列表;
第一获取模块504,用于从查找模块503查找到的监听应用列表中获取一个被监听应用ID作为当前被监听应用ID;
第一判断模块505,用于判断预置的非接注册表中是否存在当前被监听应用ID;
第二判断模块506,用于当第一判断模块505判断为是时,判断查找模块503查找到的监听应用列表中与当前被监听应用ID所对应的状态数据是否满足预设条件;
保存模块507,用于当第二判断模块506判断为是时,将与满足预设条件的状态数据所对应的当前被监听应用ID存入可选监听应用列表中;
第三判断模块508,用于当第一判断模块505判断为否时或当第二判断模块506判断为否时或保存模块507将与满足预设条件的状态数据所对应的ID存入可选监听应用列表中后,判断查找模块503查找到的监听应用列表中是否还有未被作为当前被监听应用ID的被监听应用ID;
可选地,第二判断模块506,具体用于根据当前被监听应用ID从查找模块503查找到的监听应用列表中查找当前被监听应用的生命周期和非接状态,判断当前被监听应用的生命周期是否为可选阶段,并判断当前被监听应用的非接状态是否为激活状态;
保存模块507,具体用于当第二判断模块506判断当前被监听应用的生命周期是可选阶段且当前被监听应用的非接状态为激活状态时,将与满足生命周期是可选阶段且非接状态为激活状态的当前被监听应用所对应的当前被监听应用ID存入可选监听应用列表中,触发第三判断模块508;
第三判断模块508,具体用于当第一判断模块505判断为否时或保存模块507将与满足生命周期是可选阶段且非接状态为激活状态的当前被监听应用所对应的当前被监听应用ID存入可选监听应用列表中后或当第二判断模块506判断当前被监听应用的生命周期不是可选阶段和/或当前被监听应用的非接状态不是激活状态时,判断查找模块503查找到的监听应用列表中是否还有未被作为当前被监听应用ID的被监听应用ID。
第二获取模块509,用于当第三判断模块508判断为是时,从查找模块503查找到的监听应用列表中获取下一个被监听应用ID作为当前被监听应用ID,触发所述第一判断模块505;
第一生成模块510,用于当第三判断模块508判断为否时,根据保存模块507存入当前被监听应用ID后得到的可选监听应用列表中所有被监听应用ID生成被监听应用数据响应;
发送模块511,用于发送第一生成模块510生成的被监听应用数据响应至读卡器。
可选地,接收模块501,具体用于接收读卡器发送的第一指令,解析第一指令得到事件类型数据;根据事件类型数据判断第一指令的指令类型;
第一解析模块502,具体用于当接收模块501接收的第一指令为查询指令时,解析查询指令得到监听应用ID;
发送模块511,还用于当接收模块501接收的第一指令不是查询指令时,向读卡器发送警示信息。
可选地,本实施例中的多应用智能卡,还包括第四判断模块;
第四判断模块,用于判断预置的非接注册表中是否存在第一解析模块502解析得到的监听应用ID;
查找模块503,具体用于当第四判断模块判断为是时,根据第一解析模块502解析得到的监听应用ID查找与第一解析模块502解析得到的监听应用ID对应的监听应用列表;
发送模块511,还用于当第四判断模块判断为否时,向读卡器发送警示信息。
可选地,本实施例中的多应用智能卡,还包括建立模块;
建立模块,用于建立可选监听应用列表或者清空预置的可选监听应用列表。
可选地,本实施例中的多应用智能卡,还包括第三获取模块;
第三获取模块,用于当第三判断模块508判断为否时,根据可选监听应用列表中的被监听应用ID从监听应用列表中获取与被监听应用ID分别对应的被监听应用数据;
第一生成模块510,具体用于根据所有被监听应用ID和与被监听应用ID分别对应的被监听应用数据生成被监听应用数据响应;
更进一步地,监听应用数据具体为与被监听应用ID对应的生命周期和/或非接状态和/或生命周期和/或非接优先级和/或非接协议参数和/或屏幕显示信息。
可选地,本实施例中的多应用智能卡中,接收模块501包括第一接收子模块和第三接收子模块;
发送模块511包括第一发送子模块和第三发送子模块;
第一生成模块510包括第一生成子模块和第二生成子模块;
第一接收子模块,用于接收读卡器发送的为查询指令;
第一解析模块502,具体用于解析第一接收子模块接收的查询指令得到监听应用ID;
第一发送子模块,用于根据第一解析模块502解析得到的监听应用ID发送第一接收子模块接收到的查询指令至第三接收子模块;
第三接收子模块,用于接收第一发送子模块发送的查询指令;
第一获取模块504,具体用于从预置的监听应用列表中获取一个被监听应用ID作为当前被监听应用ID;
第三发送子模块,用于发送当前被监听应用ID至第一接收子模块;
第一接收子模块,用于接收当前被监听应用ID;
第一发送子模块,用于当第一判断模块505判断为是时,发送当前被监听应用已存在响应至第三接收子模块;
第三接收子模块,还用于接收当前被监听应用已存在响应,触发第二判断模块506;
第二判断模块506,具体用于判断监听应用列表中与当前被监听应用ID所对应的状态数据是否满足预设条件,是则触发保存模块507,否则触发第三判断模块508;
保存模块507,具体用于将与满足预设条件的状态数据所对应的ID存入可选监听应用列表中,触发第三判断模块508;
第一发送子模块,还用于当第一判断模块505判断为否时,发送当前被监听应用不存在响应至第三接收子模块;
第三接收子模块,还用于接收当前被监听应用不存在响,触发第三判断模块508;
第三判断模块508,具体用于判断监听应用列表中是否还有未被作为当前被监听应用ID的被监听应用ID,是则触发第二获取模块509,否则触发第一生成模块510;
第二获取模块509,具体用于从监听应用列表中获取下一个被监听应用ID作为当前被监听应用ID,是则触发第三发送子模块,否则触发第二生成子模块;
第二生成子模块,用于根据可选监听应用列表中所有被监听应用ID生成被监听应用数据包;
第三发送子模块,用于发送被监听应用数据包至第一接收子模块;
第一接收子模块,还用于接收被监听应用数据包;
第一生成子模块,用于根据被监听应用数据包生成被监听应用数据响应;
第一发送子模块,还用于发送被监听应用数据响应至读卡器。
可选地,本实施例中的多应用智能卡,还包括第十一解析模块、第十二解析模块、第十一判断模块、第十一删除生成模块、第十三解析模块、第十二判断模块和十二删除生成模块;
接收模块501包括第一接收子模块、第二接收子模块和第三接收子模块;
发送模块511包括第一发送子模块、第二发送子模块和第三发送子模块;
第一接收子模块,用于接收读卡器发送的删除监听关系指令;
第十一解析模块,用于解析第一接收子模块接收的删除监听关系指令得到被监听应用ID;
第一发送子模块,用于根据第十一解析模块解析得到的被监听应用ID发送第一接收子模块接收的删除监听关系指令至第二接收子模块;
第二接收子模块,用于接收第一发送子模块发送的删除监听关系指令;
第十二解析模块,用于解析第二接收子模块接收的删除监听关系指令得到监听应用ID;
第十一判断模块,用于判断预置的被监听应用列表中是否存在第十二解析模块解析得到的监听应用ID;
第二发送子模块,用于当第十一判断模块判断为否时,向第一接收子模块发送警示信息;
第一接收子模块,还用于接收第二发送子模块发送的警示信息;
第一发送子模块,还用于向读卡器发送第一接收子模块接收的警示信息;
第十一删除生成模块,用于当第十一判断模块判断为是时,将第十二解析模块解析得到的监听应用ID从被监听应用列表中删除,根据被监听应用ID生成删除监听关系通知;
第二发送子模块,用于根据第十二解析模块解析得到的监听应用ID发送第十一删除生成模块生成的删除监听关系通知至第三接收子模块;
第三接收子模块,用于接收第二发送子模块发送的删除监听关系通知;
第十三解析模块,用于解析第三接收子模块接收的删除监听关系通知得到被监听应用ID;
第十二判断模块,用于判断预置的监听应用列表中是否存在第十三解析模块解析得到的被监听应用ID;
第三发送子模块,用于当第十二判断模块判断为否时,向第二接收子模块发送警示信息;
第二接收子模块,还用于接收第三发送子模块发送的警示信息;
第二发送子模块,还用于向第一接收子模块发送警示信息;
第一接收子模块,还用于接收第二发送子模块发送的警示信息;
第一发送子模块,还用于向读卡器发送警示信息;
十二删除生成模块,用于当第十二判断模块判断为是时,将第十三解析模块解析得到的被监听应用ID从监听应用列表中删除,生成删除监听关系成功信息;
第三发送子模块,还用于发送十二删除生成模块生成的删除监听关系成功信息至第二接收子模块;
第二接收子模块,还用于接收第三接收子模块发送的删除监听关系成功信息;
第二发送子模块,还用于发送第二接收子模块接收的删除监听关系成功信息至第一接收子模块;
第一发送子模块,还用于发送删除监听关系成功信息至读卡器。
可选地,本实施例中的多应用智能卡,还包括第十四解析模块、第十五解析模块、第十六解析模块、第十三判断模块、第十一添加生成模块、第十四判断模块和第十二添加生成模块;
接收模块501包括第一接收子模块、第二接收子模块和第三接收子模块;
发送模块511包括第一发送子模块、第二发送子模块和第三发送子模块;
第一接收子模块,用于接收读卡器发送的添加监听关系指令;
第十四解析模块,用于解析第一接收子模块接收的添加监听关系指令得到被监听应用ID;
第一发送子模块,用于根据第十四解析模块解析得到的被监听应用ID发送第一接收子模块接收的添加监听关系指令至第二接收子模块;
第二接收子模块,用于接收第一发送子模块发送的添加监听关系指令;
第十五解析模块,用于解析第二接收子模块解析得到的添加监听关系指令得到监听应用ID;
第十三判断模块,用于判断预置的被监听应用列表中是否存在第十五解析模块解析得到的监听应用ID;
第二发送子模块,用于当第十三判断模块判断为是时,向第一接收子模块发送警示信息;
第一接收子模块,还用于接收第二发送子模块发送的警示信息;
第一发送子模块,还用于发送警示信息至读卡器;
第十一添加生成模块,用于当第十三判断模块判断为否时,将第十五解析模块解析得到的监听应用ID添加到被监听应用列表,根据被监听应用ID生成添加监听关系通知;
第二发送子模块,还用于调用第四API根据第十五解析模块解析得到的监听应用ID发送第十一添加生成模块生成的添加监听关系通知至第三接收子模块;
第三接收子模块,用于接收第二发送子模块发送的添加监听关系通知;
第十六解析模块,用于解析第三接收子模块解析得到的添加监听关系通知得到被监听应用ID;
第十四判断模块,用于判断预置的监听应用列表中是否存在第十六解析模块解析得到的被监听应用ID;
第三发送子模块,用于当第十四判断模块判断为是时,向第二接收子模块发送警示信息;
第二接收子模块,还用于接收第三发送子模块发送的警示信息;
第二发送子模块,还用于向第一接收子模块发送警示信息;
第一接收子模块,还用于接收第二发送子模块发送的警示信息;
第一发送子模块,还用于发送警示信息至读卡器;
第十二添加生成模块,用于当第十四判断模块判断为否时,将第十六解析模块解析得到的被监听应用ID添加到监听应用列表,生成添加监听关系成功信息;
第三发送子模块,用于向第二接收子模块发送添加监听关系成功信息;
第二接收子模块,还用于接收第三发送子模块发送的添加监听关系成功信息;
第二发送子模块,还用于向第一接收子模块发送添加监听关系成功信息;
第一接收子模块,还用于接收第二发送子模块发送的添加监听关系成功信息;
第一发送子模块,还用于发送添加监听关系成功信息至读卡器。
可选地,本实施例中的多应用智能卡,还包括第十七解析模块、第十八解析模块、第一切换模块、第十五判断模块、第十一生成模块、第十九解析模块、第十六判断模块和第十二生成模块;
接收模块501包括第一接收子模块、第二接收子模块和第三接收子模块;
发送模块511包括第一发送子模块、第二发送子模块和第三发送子模块;
第一接收子模块,用于接收到读卡器发送的生命周期切换指令;
第十七解析模块,用于解析第一接收子模块解析得到的被监听应用ID;
第一发送子模块,用于根据第十七解析模块解析得到的被监听应用ID发送第一接收子模块接收的生命周期切换指令至第二接收子模块;
第二接收子模块,用于接收第一发送子模块发送的生命周期切换指令;
第十八解析模块,用于解析第二接收子模块接收的生命周期切换指令得到监听应用ID;
第一切换模块,用于切换自身的生命周期;
第十五判断模块,用于判断预置的被监听应用列表中是否存在第十八解析模块解析得到的监听应用ID;
第二发送子模块,用于当第十五判断模块判断为否时,向第一接收子模块发送警示信息;
第一接收子模块,还用于接收第二发送子模块发送的警示信息;
第一发送子模块,还用于发送警示信息至读卡器;
第十一生成模块,用于当第十五判断模块判断为是时,根据被监听应用ID和第一切换模块切换后的生命周期生成生命周期切换通知;
第二发送子模块,还用于根据第十八解析模块解析得到的监听应用ID发送第十一生成模块生成的生命周期切换通知至第三接收子模块;
第三接收子模块,用于接收第二发送子模块发送的生命周期切换通知;
第十九解析模块,用于解析第三接收子模块接收的生命周期切换通知得到被监听应用ID和被监听应用的生命周期;
第十六判断模块,用于判断预置的监听应用列表中是否存在第十九解析模块解析得到的被监听应用ID;
第三发送子模块,用于当第十六判断模块判断为否时,向第二接收子模块发送警示信息;
第二接收子模块,还用于接收第三发送子模块发送的警示信息;
第二发送子模块,还用于向第一接收子模块发送警示信息;
第一接收子模块,还用于接收第二发送子模块发送的警示信息;
第一发送子模块,还用于发送警示信息至读卡器;
第十二生成模块,用于当第十六判断模块判断为是时,根据第十九解析模块解析得到的被监听应用ID查找被监听应用的生命周期,根据第十九解析模块解析得到的被监听应用的生命周期更新查找到的被监听应用的生命周期,生成生命周期切换成功信息;
第三发送子模块,用于向第二接收子模块发送生命周期切换成功信息;
第二接收子模块,还用于接收第三发送子模块发送的生命周期切换成功信息;
第二发送子模块,还用于向第一接收子模块发送生命周期切换成功信息;
第一接收子模块,还用于接收第二发送子模块发送的生命周期切换成功信息;
第一发送子模块,还用于发送生命周期切换成功信息至读卡器。
可选地,本实施例中的多应用智能卡,还包括第二十解析模块、第二十一解析模块、第二切换模块、第十七判断模块、第十三生成模块、第二十二解析模块、第十八判断模块和第十四生成模块;
接收模块501包括第一接收子模块、第二接收子模块和第三接收子模块;
发送模块511包括第一发送子模块、第二发送子模块和第三发送子模块;
第一接收子模块,用于接收读卡器发送的非接状态切换指令;
二十解析模块,用于解析第一接收子模块接收的非接状态切换指令得到被监听应用ID;
第一发送子模块,用于根据二十解析模块解析得到的被监听应用ID发送第一接收子模块接收到的非接状态切换指令至第二接收子模块;
第二接收子模块,用于接收第一发送子模块发送的非接状态切换指令;
第二十一解析模块,用于解析第二接收子模块接收的非接状态切换指令得到监听应用ID;
第二切换模块,用于切换自身的非接状态;
第十七判断模块,用于判断预置的被监听应用列表中是否存在第二十一解析模块解析得到的监听应用ID;
第二发送子模块,用于当第十七判断模块判断为否时,向第一接收子模块发送警示信息;
第一接收子模块,还用于接收第二发送子模块发送的警示信息;
第一发送子模块,还用于发送警示信息至读卡器;
第十三生成模块,用于当第十七判断模块判断为是时,根据被监听应用ID和第二切换模块切换后的非接状态生成非接状态切换通知;
第二发送子模块,用于根据第二十一解析模块解析得到的监听应用ID发送第十三生成模块生成的非接状态切换通知至第三接收子模块;
第三接收子模块,用于接收第二发送子模块发送的非接状态切换通知;
第二十二解析模块,用于解析第三接收子模块接收的非接状态切换通知得到被监听应用ID和被监听应用的非接状态;
第十八判断模块,用于判断预置的监听应用列表中是否存在第二十二解析模块解析得到的被监听应用ID;
第三发送子模块,用于当第十八判断模块判断为否时,向第二接收子模块发送警示信息;
第二接收子模块,还用于接收第三发送子模块发送的警示信息;
第二发送子模块,还用于向第一接收子模块发送警示信息;
第一接收子模块,还用于接收第二发送子模块发送的警示信息;
第一发送子模块,还用于发送警示信息至读卡器;
第十四生成模块,用于当第十八判断模块判断为是时,根据第二十二解析模块解析得到的被监听应用ID查找被监听应用的非接状态,根据接收到的被监听应用的非接状态更新查找到的被监听应用的非接状态,生成非接状态切换成功信息;
第三发送子模块,用于向第二接收子模块发送非接状态切换成功信息;
第二接收子模块,还用于接收第三发送子模块发送的非接状态切换成功信息;
第二发送子模块,还用于向第一接收子模块发送非接状态切换成功信息;
第一接收子模块,还用于接收第二发送子模块发送的非接状态切换成功信息;
第一发送子模块,还用于发送非接状态切换成功信息至读卡器。
更进一步地,本实施例中的警示信息具体为报错信息或者警告信息。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (26)
1.一种多应用智能卡查询应用监听关系的方法,其特征在于,包括以下步骤:
步骤S1:当多应用智能卡接收到读卡器发送的查询指令时,所述多应用智能卡解析所述查询指令得到监听应用ID,根据所述监听应用ID查找与所述监听应用ID对应的监听应用列表;从所述监听应用列表中获取一个被监听应用ID作为当前被监听应用ID;
步骤S2:所述多应用智能卡判断预置的非接注册表中是否存在所述当前被监听应用ID,是则执行步骤S3,否则执行步骤S5;
步骤S3:所述多应用智能卡判断所述监听应用列表中与所述当前被监听应用ID所对应的状态数据是否满足预设条件,是则执行步骤S4,否则执行步骤S5;
步骤S4:所述多应用智能卡将与满足预设条件的状态数据所对应的当前被监听应用ID存入可选监听应用列表中,执行步骤S5;
步骤S5:所述多应用智能卡判断所述监听应用列表中是否还有未被作为当前被监听应用ID的被监听应用ID,是则从所述监听应用列表中获取下一个被监听应用ID作为当前被监听应用ID,返回步骤S2;否则执行步骤S6;
步骤S6:所述多应用智能卡根据所述可选监听应用列表中所有被监听应用ID生成被监听应用数据响应,发送所述被监听应用数据响应至所述读卡器。
2.如权利要求1所述的方法,其特征在于,所述步骤S1中,当多应用智能卡接收到读卡器发送的查询指令时,所述多应用智能卡解析所述查询指令得到监听应用ID,具体为:
当所述多应用智能卡接收到读卡器发送的第一指令时,所述多应用智能卡解析所述第一指令得到事件类型数据;根据所述事件类型数据判断第一指令的指令类型,当第一指令为查询指令时,所述多应用智能卡解析所述查询指令得到监听应用ID,否则向所述读卡器发送警示信息。
3.如权利要求1所述的方法,其特征在于,所述步骤S1中,所述多应用智能卡解析所述查询指令得到监听应用ID之后,还包括:
所述多应用智能卡判断预置的非接注册表中是否存在监听应用ID,是则根据所述监听应用ID查找与所述监听应用ID对应的监听应用列表,否则向读卡器发送警示信息。
4.如权利要求1所述的方法,其特征在于,步骤S3具体为,所述多应用智能卡根据当前被监听应用ID从所述监听应用列表中查找当前被监听应用的生命周期和非接状态,判断当前被监听应用的生命周期是否为可选阶段,并判断当前被监听应用的非接状态是否为激活状态,当判断当前被监听应用的生命周期是可选阶段且当前被监听应用的非接状态为激活状态时,执行步骤S4,否则执行步骤S5。
5.如权利要求1所述的方法,其特征在于,所述步骤S4之前,还包括:所述多应用智能卡建立可选监听应用列表或者所述多应用智能卡清空预置的可选监听应用列表。
6.如权利要求1所述的方法,其特征在于,所述步骤S6之前,还包括:
所述多应用智能卡根据所述可选监听应用列表中的被监听应用ID从所述监听应用列表中获取与被监听应用ID分别对应的被监听应用数据;
所述多应用智能卡根据所述可选监听应用列表中所有被监听应用ID生成被监听应用数据响应,具体为:
所述多应用智能卡根据所有被监听应用ID和与被监听应用ID分别对应的被监听应用数据生成被监听应用数据响应。
7.如权利要求6所述的方法,其特征在于,所述步骤S6中,所述监听应用数据具体为与被监听应用ID对应的生命周期和/或非接状态和/或生命周期和/或非接优先级和/或非接协议参数和/或屏幕显示信息。
8.如权利要求1所述的方法,其特征在于,所述多应用智能卡包括操作系统和监听应用;
所述步骤S1具体为:
步骤S101:当所述操作系统接收到读卡器发送的查询指令时,所述操作系统解析查询指令得到监听应用ID,根据所述监听应用ID发送所述查询指令至监听应用;
步骤S102:所述监听应用从预置的监听应用列表中获取一个被监听应用ID作为当前被监听应用ID;
所述步骤S2具体为:
步骤S201:所述监听应用发送当前被监听应用ID至操作系统;
步骤S202:所述操作系统判断预置的非接注册表中是否存在所述当前被监听应用ID,是则发送当前被监听应用已存在响应至监听应用,执行步骤S203,否则发送当前被监听应用不存在响应至监听应用,执行步骤S204;
步骤S203:所述监听应用接收当前被监听应用已存在响应,执行步骤S3;
步骤S204:所述监听应用接收当前被监听应用不存在响应,执行步骤S5;
步骤S3具体为:所述监听应用判断所述监听应用列表中与所述当前被监听应用ID所对应的状态数据是否满足预设条件,是则执行步骤S4,否则执行步骤S5;
步骤S4具体为:所述监听应用将与满足预设条件的状态数据所对应的ID存入可选监听应用列表中,执行步骤S5;
步骤S5具体为:所述监听应用判断所述监听应用列表中是否还有未被作为当前被监听应用ID的被监听应用ID,是则从所述监听应用列表中获取下一个被监听应用ID作为当前被监听应用ID,返回步骤S201;否则执行步骤S6;
步骤S6具体为:
步骤S601:所述监听应用根据所述可选监听应用列表中所有被监听应用ID生成被监听应用数据包,发送被监听应用数据包至操作系统;
步骤S602:所述操作系统根据被监听应用数据包生成被监听应用数据响应,发送被监听应用数据响应至读卡器。
9.如权利要求1所述的方法,其特征在于,所述多应用智能卡包括操作系统、监听应用和被监听应用;所述步骤S1之前,还包括:
步骤A1:当所述操作系统接收到所述读卡器发送的删除监听关系指令时,所述操作系统解析所述删除监听关系指令得到被监听应用ID,根据所述被监听应用ID发送所述删除监听关系指令至所述被监听应用;
步骤A2:所述被监听应用解析删除监听关系指令得到监听应用ID,判断预置的被监听应用列表中是否存在所述监听应用ID,是则执行步骤A3,否则向所述操作系统发送警示信息,执行步骤A6;
步骤A3:所述被监听应用将所述监听应用ID从被监听应用列表中删除,根据所述被监听应用ID生成删除监听关系通知,根据监听应用ID发送所述删除监听关系通知至监听应用;
步骤A4:所述监听应用解析删除监听关系通知得到被监听应用ID,判断预置的监听应用列表中是否存在所述被监听应用ID,是则执行步骤A7,否则向所述被监听应用发送警示信息,执行步骤A5;
步骤A5:所述被监听应用接收警示信息,向所述操作系统发送警示信息,执行步骤A6;
步骤A6:所述操作系统接收警示信息,向所述读卡器发送所述警示信息,结束;
步骤A7:所述监听应用将所述被监听应用ID从监听应用列表中删除,生成删除监听关系成功信息,发送所述删除监听关系成功信息至被监听应用;
步骤A8:所述被监听应用接收删除监听关系成功信息,发送所述删除监听关系成功信息至操作系统;
步骤A9:所述操作系统接收删除监听关系成功信息,发送所述删除监听关系成功信息至读卡器。
10.如权利要求1所述的方法,其特征在于,所述多应用智能卡包括操作系统、监听应用和被监听应用;所述步骤S1之前,还包括:
步骤B1:当所述操作系统接收到所述读卡器发送的添加监听关系指令时,所述操作系统根据被监听应用ID发送添加监听关系指令至被监听应用;
步骤B2:所述被监听应用接收添加监听关系指令;解析添加监听关系指令得到监听应用ID,判断预置的被监听应用列表中是否存在监听应用ID,是则向操作系统发送警示信息,执行步骤B6,否则执行步骤B3;
步骤B3:所述被监听应用将监听应用ID添加到被监听应用列表,根据被监听应用ID生成添加监听关系通知,调用第四API根据监听应用ID发送添加监听关系通知至监听应用;
步骤B4:所述监听应用接收并解析添加监听关系通知得到被监听应用ID,判断预置的监听应用列表中是否存在被监听应用ID,是则向被监听应用发送警示信息,执行步骤B5,否则执行步骤B7;
步骤B5:所述被监听应用接收警示信息,向操作系统发送警示信息,执行步骤B6;
步骤B6:所述操作系统接收警示信息,发送警示信息至读卡器,结束;
步骤B7:所述监听应用将被监听应用ID添加到监听应用列表,生成添加监听关系成功信息,发送添加监听关系成功信息至被监听应用;
步骤B8:所述被监听应用接收添加监听关系成功信息,发送添加监听关系成功信息至操作系统;
步骤B9:所述操作系统接收添加监听关系成功信息,发送添加监听关系成功信息至读卡器。
11.如权利要求1所述的方法,其特征在于,所述多应用智能卡包括操作系统、监听应用和被监听应用;所述步骤S1之前,还包括:
步骤C1:当所述操作系统接收到所述读卡器发送的生命周期切换指令时,所述操作系统根据被监听应用ID发送生命周期切换指令至被监听应用;
步骤C2:所述被监听应用接收并解析生命周期切换指令得到监听应用ID;切换自身的生命周期;判断预置的被监听应用列表中是否存在监听应用ID,是则执行步骤C3,否则向操作系统发送警示信息,执行步骤C6;
步骤C3:所述被监听应用根据被监听应用ID和切换后的生命周期生成生命周期切换通知,根据监听应用ID发送生命周期切换通知至监听应用;
步骤C4:所述监听应用接收并解析生命周期切换通知得到被监听应用ID和被监听应用的生命周期,判断预置的监听应用列表中是否存在被监听应用ID,是则执行步骤C7,否则向被监听应用发送警示信息,执行步骤C5;
步骤C5:所述被监听应用接收警示信息,向操作系统发送警示信息,执行步骤C6;
步骤C6:所述操作系统接收警示信息,发送警示信息至读卡器,结束;
步骤C7:所述监听应用根据被监听应用ID查找被监听应用的生命周期,根据解析得到的被监听应用的生命周期更新查找到的被监听应用的生命周期,生成生命周期切换成功信息,发送生命周期切换成功信息至被监听应用;
步骤C8:所述被监听应用接收生命周期切换成功信息,发送生命周期切换成功信息至操作系统;
步骤C9:所述操作系统接收生命周期切换成功信息,发送生命周期切换成功信息至读卡器。
12.如权利要求1所述的方法,其特征在于,所述多应用智能卡包括操作系统、监听应用和被监听应用;所述步骤S1之前,还包括:
步骤D1:当所述操作系统接收到所述读卡器发送的非接状态切换指令时,所述操作系统根据被监听应用ID发送非接状态切换指令至被监听应用;
步骤D2:所述被监听应用接收并解析非接状态切换指令得到监听应用ID;切换自身的非接状态;判断预置的被监听应用列表中是否存在监听应用ID,是则执行步骤D3,否则向操作系统发送警示信息,执行步骤D6;
步骤D3:所述被监听应用根据被监听应用ID和切换后的非接状态生成非接状态切换通知,根据监听应用ID发送非接状态切换通知至监听应用;
步骤D4:所述监听应用接收并解析非接状态切换通知得到被监听应用ID和被监听应用的非接状态,判断预置的监听应用列表中是否存在被监听应用ID,是则执行步骤D7,否则向被监听应用发送警示信息,执行步骤D5;
步骤D5:所述被监听应用接收警示信息,向操作系统发送警示信息,执行步骤D6;
步骤D6:所述操作系统接收警示信息,发送警示信息至读卡器,结束;
步骤D7:所述监听应用根据被监听应用ID查找被监听应用的非接状态,根据解析得到的被监听应用的非接状态更新查找到的被监听应用的非接状态,生成非接状态切换成功信息,发送非接状态切换成功信息至被监听应用;
步骤D8:所述被监听应用接收非接状态切换成功信息,发送非接状态切换成功信息至操作系统;
步骤D9:所述操作系统接收非接状态切换成功信息,发送非接状态切换成功信息至读卡器。
13.如权利要求9或10或11或12所述的方法,其特征在于,所述警示信息具体为报错信息或者警告信息。
14.一种多应用智能卡,其特征在于,包括接收模块、第一解析模块、查找模块、第一获取模块、第一判断模块、第二判断模块、保存模块、第三判断模块、第二获取模块、第一生成模块和发送模块:
所述接收模块,用于接收读卡器发送的查询指令;
所述第一解析模块,用于解析所述接收模块接收的所述查询指令得到监听应用ID;
所述查找模块,用于根据所述第一解析模块解析得到的所述监听应用ID查找与所述第一解析模块解析得到的所述监听应用ID对应的监听应用列表;
所述第一获取模块,用于从所述查找模块查找到的所述监听应用列表中获取一个被监听应用ID作为当前被监听应用ID;
所述第一判断模块,用于判断预置的非接注册表中是否存在所述当前被监听应用ID;
所述第二判断模块,用于当所述第一判断模块判断为是时,判断所述查找模块查找到的所述监听应用列表中与所述当前被监听应用ID所对应的状态数据是否满足预设条件;
所述保存模块,用于当所述第二判断模块判断为是时,将与满足预设条件的状态数据所对应的当前被监听应用ID存入可选监听应用列表中;
所述第三判断模块,用于当所述第一判断模块判断为否时或所述保存模块将与满足预设条件的状态数据所对应的ID存入可选监听应用列表中后,判断所述查找模块查找到的所述监听应用列表中是否还有未被作为当前被监听应用ID的被监听应用ID;
所述第二获取模块,用于当所述第三判断模块判断为是时,从所述查找模块查找到的所述监听应用列表中获取下一个被监听应用ID作为当前被监听应用ID;
所述第一判断模块,还用于在所述第二获取模块从所述查找模块查找到的所述监听应用列表中获取下一个被监听应用ID作为当前被监听应用ID后,判断预置的非接注册表中是否存在所述第二获取模块获取的所述当前被监听应用ID;
所述第一生成模块,用于当所述第三判断模块判断为否时,根据所述保存模块存入当前被监听应用ID后得到的所述可选监听应用列表中所有被监听应用ID生成被监听应用数据响应;
所述发送模块,用于发送所述第一生成模块生成的所述被监听应用数据响应至所述读卡器。
15.如权利要求14所述的多应用智能卡,其特征在于,所述接收模块,具体用于接收读卡器发送的第一指令,解析所述第一指令得到事件类型数据;根据所述事件类型数据判断第一指令的指令类型;
所述第一解析模块,具体用于当所述接收模块接收的第一指令为查询指令时,解析所述查询指令得到监听应用ID;
所述发送模块,还用于当所述接收模块接收的第一指令不是查询指令时,向所述读卡器发送警示信息。
16.如权利要求14所述的多应用智能卡,其特征在于,还包括第四判断模块;
所述第四判断模块,用于判断预置的非接注册表中是否存在所述第一解析模块解析得到的所述监听应用ID;
所述查找模块,具体用于当所述第四判断模块判断为是时,根据所述第一解析模块解析得到的所述监听应用ID查找与所述第一解析模块解析得到的所述监听应用ID对应的监听应用列表;
所述发送模块,还用于当所述第四判断模块判断为否时,向读卡器发送警示信息。
17.如权利要求14所述的多应用智能卡,其特征在于,所述第二判断模块,具体用于根据当前被监听应用ID从所述查找模块查找到的所述监听应用列表中查找当前被监听应用的生命周期和非接状态,判断当前被监听应用的生命周期是否为可选阶段,并判断当前被监听应用的非接状态是否为激活状态;
所述保存模块,具体用于当所述第二判断模块判断当前被监听应用的生命周期是可选阶段且当前被监听应用的非接状态为激活状态时,将与满足生命周期是可选阶段且非接状态为激活状态的当前被监听应用所对应的当前被监听应用ID存入可选监听应用列表中,触发所述第三判断模块;
所述第三判断模块,具体用于所述保存模块将与满足生命周期是可选阶段且非接状态为激活状态的当前被监听应用所对应的当前被监听应用ID存入可选监听应用列表中后或当所述第二判断模块判断当前被监听应用的生命周期不是可选阶段和/或当前被监听应用的非接状态不是激活状态时,判断所述查找模块查找到的所述监听应用列表中是否还有未被作为当前被监听应用ID的被监听应用ID。
18.如权利要求14所述的多应用智能卡,其特征在于,还包括建立模块;
所述建立模块,用于建立可选监听应用列表或者清空预置的可选监听应用列表。
19.如权利要求14所述的多应用智能卡,其特征在于,还包括第三获取模块;
所述第三获取模块,用于当所述第三判断模块判断为否时,根据所述可选监听应用列表中的被监听应用ID从所述监听应用列表中获取与被监听应用ID分别对应的被监听应用数据;
所述第一生成模块,具体用于根据所有被监听应用ID和与被监听应用ID分别对应的被监听应用数据生成被监听应用数据响应。
20.如权利要求19所述的多应用智能卡,其特征在于,所述监听应用数据具体为与被监听应用ID对应的生命周期和/或非接状态和/或生命周期和/或非接优先级和/或非接协议参数和/或屏幕显示信息。
21.如权利要求14所述的多应用智能卡,其特征在于,所述接收模块包括第一接收子模块和第三接收子模块;
所述发送模块包括第一发送子模块和第三发送子模块;
所述第一生成模块包括第一生成子模块和第二生成子模块;
所述第一接收子模块,用于接收读卡器发送的为查询指令;
所述第一解析模块,具体用于解析所述第一接收子模块接收的查询指令得到监听应用ID;
所述第一发送子模块,用于根据所述第一解析模块解析得到的所述监听应用ID发送所述第一接收子模块接收到的查询指令至第三接收子模块;
所述第三接收子模块,用于接收所述第一发送子模块发送的查询指令;
所述第一获取模块,具体用于从预置的监听应用列表中获取一个被监听应用ID作为当前被监听应用ID;
所述第三发送子模块,用于发送所述当前被监听应用ID至所述第一接收子模块;
所述第一接收子模块,用于接收当前被监听应用ID;
所述第一发送子模块,用于当所述第一判断模块判断为是时,发送当前被监听应用已存在响应至所述第三接收子模块;
所述第三接收子模块,还用于接收当前被监听应用已存在响应,触发所述第二判断模块;
所述第二判断模块,具体用于判断所述监听应用列表中与所述当前被监听应用ID所对应的状态数据是否满足预设条件,是则触发保存模块,否则触发第三判断模块;
所述保存模块,具体用于将与满足预设条件的状态数据所对应的ID存入可选监听应用列表中,触发所述第三判断模块;
所述第一发送子模块,还用于当所述第一判断模块判断为否时,发送当前被监听应用不存在响应至所述第三接收子模块;
所述第三接收子模块,还用于接收当前被监听应用不存在响,触发所述第三判断模块;
所述第三判断模块,具体用于判断所述监听应用列表中是否还有未被作为当前被监听应用ID的被监听应用ID,是则触发所述第二获取模块,否则触发所述第一生成模块;
所述第二获取模块,具体用于从所述监听应用列表中获取下一个被监听应用ID作为当前被监听应用ID,是则触发所述第三发送子模块,否则触发所述第二生成子模块;
所述第二生成子模块,用于根据所述可选监听应用列表中所有被监听应用ID生成被监听应用数据包;
所述第三发送子模块,用于发送被监听应用数据包至所述第一接收子模块;
所述第一接收子模块,还用于接收被监听应用数据包;
所述第一生成子模块,用于根据被监听应用数据包生成被监听应用数据响应;
所述第一发送子模块,还用于发送被监听应用数据响应至读卡器。
22.如权利要求14所述的多应用智能卡,其特征在于,还包括第十一解析模块、第十二解析模块、第十一判断模块、第十一删除生成模块、第十三解析模块、第十二判断模块和十二删除生成模块;
所述接收模块包括第一接收子模块、第二接收子模块和第三接收子模块;
所述发送模块包括第一发送子模块、第二发送子模块和第三发送子模块;
所述第一接收子模块,用于接收所述读卡器发送的删除监听关系指令;
所述第十一解析模块,用于解析所述第一接收子模块接收的所述删除监听关系指令得到被监听应用ID;
所述第一发送子模块,用于根据所述第十一解析模块解析得到的所述被监听应用ID发送所述第一接收子模块接收的所述删除监听关系指令至所述第二接收子模块;
所述第二接收子模块,用于接收所述第一发送子模块发送的所述删除监听关系指令;
所述第十二解析模块,用于解析所述第二接收子模块接收的删除监听关系指令得到监听应用ID;
所述第十一判断模块,用于判断预置的被监听应用列表中是否存在所述第十二解析模块解析得到的所述监听应用ID;
所述第二发送子模块,用于当所述第十一判断模块判断为否时,向所述第一接收子模块发送警示信息;
所述第一接收子模块,还用于接收所述第二发送子模块发送的警示信息;
所述第一发送子模块,还用于向所述读卡器发送所述第一接收子模块接收的所述警示信息;
所述第十一删除生成模块,用于当所述第十一判断模块判断为是时,将所述第十二解析模块解析得到的所述监听应用ID从被监听应用列表中删除,根据所述被监听应用ID生成删除监听关系通知;
所述第二发送子模块,用于根据所述第十二解析模块解析得到的所述监听应用ID发送所述第十一删除生成模块生成的所述删除监听关系通知至第三接收子模块;
所述第三接收子模块,用于接收所述第二发送子模块发送的所述删除监听关系通知;
所述第十三解析模块,用于解析所述第三接收子模块接收的删除监听关系通知得到被监听应用ID;
所述第十二判断模块,用于判断预置的监听应用列表中是否存在所述第十三解析模块解析得到的所述被监听应用ID;
所述第三发送子模块,用于当所述第十二判断模块判断为否时,向所述第二接收子模块发送警示信息;
所述第二接收子模块,还用于接收所述第三发送子模块发送的警示信息;
所述第二发送子模块,还用于向所述第一接收子模块发送警示信息;
所述第一接收子模块,还用于接收所述第二发送子模块发送的警示信息;
所述第一发送子模块,还用于向所述读卡器发送所述警示信息;
所述十二删除生成模块,用于当所述第十二判断模块判断为是时,将所述第十三解析模块解析得到的所述被监听应用ID从监听应用列表中删除,生成删除监听关系成功信息;
所述第三发送子模块,还用于发送所述十二删除生成模块生成的所述删除监听关系成功信息至所述第二接收子模块;
所述第二接收子模块,还用于接收所述第三接收子模块发送的所述删除监听关系成功信息;
所述第二发送子模块,还用于发送所述第二接收子模块接收的所述删除监听关系成功信息至所述第一接收子模块;
所述第一发送子模块,还用于发送所述删除监听关系成功信息至所述读卡器。
23.如权利要求14所述的多应用智能卡,其特征在于,还包括第十四解析模块、第十五解析模块、第十六解析模块、第十三判断模块、第十一添加生成模块、第十四判断模块和第十二添加生成模块;
所述接收模块包括第一接收子模块、第二接收子模块和第三接收子模块;
所述发送模块包括第一发送子模块、第二发送子模块和第三发送子模块;
所述第一接收子模块,用于接收所述读卡器发送的添加监听关系指令;
所述第十四解析模块,用于解析所述第一接收子模块接收的添加监听关系指令得到被监听应用ID;
所述第一发送子模块,用于根据所述第十四解析模块解析得到的被监听应用ID发送所述第一接收子模块接收的添加监听关系指令至所述第二接收子模块;
所述第二接收子模块,用于接收所述第一发送子模块发送的添加监听关系指令;
所述第十五解析模块,用于解析所述第二接收子模块解析得到的添加监听关系指令得到监听应用ID;
所述第十三判断模块,用于判断预置的被监听应用列表中是否存在所述第十五解析模块解析得到的监听应用ID;
所述第二发送子模块,用于当所述第十三判断模块判断为是时,向所述第一接收子模块发送警示信息;
所述第一接收子模块,还用于接收所述第二发送子模块发送的警示信息;
所述第一发送子模块,还用于发送警示信息至读卡器;
所述第十一添加生成模块,用于当所述第十三判断模块判断为否时,将所述第十五解析模块解析得到的监听应用ID添加到被监听应用列表,根据被监听应用ID生成添加监听关系通知;
所述第二发送子模块,还用于调用第四API根据所述第十五解析模块解析得到的监听应用ID发送所述第十一添加生成模块生成的添加监听关系通知至所述第三接收子模块;
所述第三接收子模块,用于接收所述第二发送子模块发送的所述添加监听关系通知;
所述第十六解析模块,用于解析所述第三接收子模块解析得到的所述添加监听关系通知得到被监听应用ID;
所述第十四判断模块,用于判断预置的监听应用列表中是否存在所述第十六解析模块解析得到的被监听应用ID;
所述第三发送子模块,用于当所述第十四判断模块判断为是时,向所述第二接收子模块发送警示信息;
所述第二接收子模块,还用于接收所述第三发送子模块发送的警示信息;
所述第二发送子模块,还用于向所述第一接收子模块发送警示信息;
所述第一接收子模块,还用于接收所述第二发送子模块发送的警示信息;
所述第一发送子模块,还用于发送警示信息至读卡器;
所述第十二添加生成模块,用于当所述第十四判断模块判断为否时,将所述第十六解析模块解析得到的被监听应用ID添加到监听应用列表,生成添加监听关系成功信息;
所述第三发送子模块,用于向所述第二接收子模块发送添加监听关系成功信息;
所述第二接收子模块,还用于接收所述第三发送子模块发送的添加监听关系成功信息;
所述第二发送子模块,还用于向所述第一接收子模块发送添加监听关系成功信息;
所述第一接收子模块,还用于接收所述第二发送子模块发送的添加监听关系成功信息;
所述第一发送子模块,还用于发送添加监听关系成功信息至读卡器。
24.如权利要求14所述的多应用智能卡,其特征在于,还包括第十七解析模块、第十八解析模块、第一切换模块、第十五判断模块、第十一生成模块、第十九解析模块、第十六判断模块和第十二生成模块;
所述接收模块包括第一接收子模块、第二接收子模块和第三接收子模块;
所述发送模块包括第一发送子模块、第二发送子模块和第三发送子模块;
所述第一接收子模块,用于接收到所述读卡器发送的生命周期切换指令;
所述第十七解析模块,用于解析所述第一接收子模块解析得到的被监听应用ID;
所述第一发送子模块,用于根据所述第十七解析模块解析得到的被监听应用ID发送所述第一接收子模块接收的生命周期切换指令至第二接收子模块;
所述第二接收子模块,用于接收所述第一发送子模块发送的生命周期切换指令;
所述第十八解析模块,用于解析所述第二接收子模块接收的生命周期切换指令得到监听应用ID;
所述第一切换模块,用于切换自身的生命周期;
所述第十五判断模块,用于判断预置的被监听应用列表中是否存在所述第十八解析模块解析得到的监听应用ID;
所述第二发送子模块,用于当所述第十五判断模块判断为否时,向所述第一接收子模块发送警示信息;
所述第一接收子模块,还用于接收所述第二发送子模块发送的警示信息;
所述第一发送子模块,还用于发送所述警示信息至读卡器;
所述第十一生成模块,用于当所述第十五判断模块判断为是时,根据被监听应用ID和所述第一切换模块切换后的生命周期生成生命周期切换通知;
所述第二发送子模块,还用于根据所述第十八解析模块解析得到的监听应用ID发送所述第十一生成模块生成的生命周期切换通知至所述第三接收子模块;
所述第三接收子模块,用于接收所述第二发送子模块发送的生命周期切换通知;
所述第十九解析模块,用于解析所述第三接收子模块接收的生命周期切换通知得到被监听应用ID和被监听应用的生命周期;
所述第十六判断模块,用于判断预置的监听应用列表中是否存在所述第十九解析模块解析得到的被监听应用ID;
所述第三发送子模块,用于当所述第十六判断模块判断为否时,向所述第二接收子模块发送警示信息;
所述第二接收子模块,还用于接收所述第三发送子模块发送的警示信息;
所述第二发送子模块,还用于向所述第一接收子模块发送警示信息;
所述第一接收子模块,还用于接收所述第二发送子模块发送的警示信息;
所述第一发送子模块,还用于发送警示信息至读卡器;
所述第十二生成模块,用于当所述第十六判断模块判断为是时,根据所述第十九解析模块解析得到的被监听应用ID查找被监听应用的生命周期,根据所述第十九解析模块解析得到的被监听应用的生命周期更新查找到的被监听应用的生命周期,生成生命周期切换成功信息;
所述第三发送子模块,用于向所述第二接收子模块发送生命周期切换成功信息;
所述第二接收子模块,还用于接收所述第三发送子模块发送的生命周期切换成功信息;
所述第二发送子模块,还用于向所述第一接收子模块发送生命周期切换成功信息;
所述第一接收子模块,还用于接收所述第二发送子模块发送的生命周期切换成功信息;
所述第一发送子模块,还用于发送生命周期切换成功信息至读卡器。
25.如权利要求14所述的多应用智能卡,其特征在于,还包括第二十解析模块、第二十一解析模块、第二切换模块、第十七判断模块、第十三生成模块、第二十二解析模块、第十八判断模块和第十四生成模块;
所述接收模块包括第一接收子模块、第二接收子模块和第三接收子模块;
所述发送模块包括第一发送子模块、第二发送子模块和第三发送子模块;
所述第一接收子模块,用于接收所述读卡器发送的非接状态切换指令;
所述二十解析模块,用于解析所述第一接收子模块接收的非接状态切换指令得到被监听应用ID;
所述第一发送子模块,用于根据所述二十解析模块解析得到的被监听应用ID发送所述第一接收子模块接收到的非接状态切换指令至第二接收子模块;
所述第二接收子模块,用于接收所述第一发送子模块发送的非接状态切换指令;
所述第二十一解析模块,用于解析所述第二接收子模块接收的非接状态切换指令得到监听应用ID;
所述第二切换模块,用于切换自身的非接状态;
所述第十七判断模块,用于判断预置的被监听应用列表中是否存在所述第二十一解析模块解析得到的监听应用ID;
所述第二发送子模块,用于当所述第十七判断模块判断为否时,向所述第一接收子模块发送警示信息;
所述第一接收子模块,还用于接收所述第二发送子模块发送的警示信息;
所述第一发送子模块,还用于发送警示信息至读卡器;
所述第十三生成模块,用于当所述第十七判断模块判断为是时,根据被监听应用ID和所述第二切换模块切换后的非接状态生成非接状态切换通知;
所述第二发送子模块,用于根据所述第二十一解析模块解析得到的监听应用ID发送所述第十三生成模块生成的非接状态切换通知至第三接收子模块;
所述第三接收子模块,用于接收所述第二发送子模块发送的非接状态切换通知;
所述第二十二解析模块,用于解析所述第三接收子模块接收的非接状态切换通知得到被监听应用ID和被监听应用的非接状态;
所述第十八判断模块,用于判断预置的监听应用列表中是否存在所述第二十二解析模块解析得到的被监听应用ID;
所述第三发送子模块,用于当所述第十八判断模块判断为否时,向所述第二接收子模块发送警示信息;
所述第二接收子模块,还用于接收所述第三发送子模块发送的警示信息;
所述第二发送子模块,还用于向所述第一接收子模块发送警示信息;
所述第一接收子模块,还用于接收所述第二发送子模块发送的警示信息;
所述第一发送子模块,还用于发送警示信息至读卡器;
所述第十四生成模块,用于当所述第十八判断模块判断为是时,根据所述第二十二解析模块解析得到的被监听应用ID查找被监听应用的非接状态,根据接收到的被监听应用的非接状态更新查找到的被监听应用的非接状态,生成非接状态切换成功信息;
所述第三发送子模块,用于向所述第二接收子模块发送非接状态切换成功信息;
所述第二接收子模块,还用于接收所述第三发送子模块发送的非接状态切换成功信息;
所述第二发送子模块,还用于向所述第一接收子模块发送非接状态切换成功信息;
所述第一接收子模块,还用于接收所述第二发送子模块发送的非接状态切换成功信息;
所述第一发送子模块,还用于发送非接状态切换成功信息至读卡器。
26.如权利要求22或23或24或25所述的多应用智能卡,其特征在于,所述警示信息具体为报错信息或者警告信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811624343.XA CN109711221B (zh) | 2018-12-28 | 2018-12-28 | 一种多应用智能卡及其查询应用监听关系的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811624343.XA CN109711221B (zh) | 2018-12-28 | 2018-12-28 | 一种多应用智能卡及其查询应用监听关系的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109711221A CN109711221A (zh) | 2019-05-03 |
CN109711221B true CN109711221B (zh) | 2021-09-28 |
Family
ID=66259095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811624343.XA Active CN109711221B (zh) | 2018-12-28 | 2018-12-28 | 一种多应用智能卡及其查询应用监听关系的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109711221B (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101630373B (zh) * | 2009-08-18 | 2012-05-02 | 北京握奇数据系统有限公司 | 一种实现智能卡多应用的方法及装置 |
CN102025710B (zh) * | 2009-09-11 | 2015-11-25 | 中国银联股份有限公司 | 多应用智能卡及智能卡多应用管理系统和方法 |
CN103310537B (zh) * | 2012-03-16 | 2016-01-20 | 中国移动通信集团公司 | 一种多应用识别访问方法、智能卡和pos机 |
-
2018
- 2018-12-28 CN CN201811624343.XA patent/CN109711221B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109711221A (zh) | 2019-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106844645B (zh) | 一种电力通信设备信息查询系统 | |
CN109978608A (zh) | 目标用户画像的营销标签分析提取方法及系统 | |
CN105511727B (zh) | 一种消息处理方法及装置 | |
CN104038621A (zh) | 在通信终端中管理事件信息的装置及方法 | |
WO2017075940A1 (zh) | 智能锁的电量监控方法及系统 | |
CN110446273A (zh) | 一种基于电子价签组网的方法及设备 | |
CN104462542B (zh) | 基于Android的应用软件图标的分类方法及系统 | |
CN104021141B (zh) | 数据处理和云服务的方法、装置及系统 | |
CN105354492A (zh) | 移动通讯终端及其消息通知控制方法和装置 | |
CN104539511A (zh) | 一种进入客户端显示自身组别的方法和系统 | |
CN104965829A (zh) | 终端应用分类方法、服务器及系统 | |
CN113242359A (zh) | 一种基于企业微信自动发送发电厂报警消息的方法 | |
CN114448922A (zh) | 消息分级处理方法、装置、设备及存储介质 | |
CN106447242B (zh) | 用电业务受理时限管理方法及装置 | |
CN109711221B (zh) | 一种多应用智能卡及其查询应用监听关系的方法 | |
CN111131418A (zh) | 一种易损件监控及管理方法、装置及系统 | |
CN103209398B (zh) | 灰名单建立的方法和系统以及短信发送的方法和系统 | |
CN102811272A (zh) | 一种更新方法、更新装置及通信终端 | |
CN102710850A (zh) | 一种手机消息的分类管理方法、系统及手机 | |
CN103249059A (zh) | 一种监控方法、装置及设备 | |
CN113783913A (zh) | 一种消息推送管理方法和装置 | |
CN108829307A (zh) | 一种基于Android的分类方法及系统 | |
CN108574592B (zh) | 一种基于电信云的资源管理方法及装置 | |
CN106357481B (zh) | 一种用电安全管理方法及系统 | |
CN111967831B (zh) | 一种基于zetag云标签的物流追踪方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |