实现智能卡动态插拔响应的方法及终端的制作方法_3

文档序号:8266829阅读:来源:国知局
),因而,不影响智能卡在终端不重启状态下的动态插拔响应。
[0045]步骤207:如果当前条件接收系统不是暂停状态,表示其状态是正常状态。例如,在初始化后初次插入智能卡,所以条件接收系统默认状态均为正常状态,智能卡对应的条件接收系统即为正常状态。或者,智能卡虽然是被再次插入的智能卡,但仍是前次使用的智能卡,则该智能卡对应的条件接收系统是前次处于运行状态的系统,则其状态也为正常状态。不管是哪种状态,如果当前条件接收系统为正常状态,则暂停其他条件接收系统的内核主线程,并将这些其他条件接收系统设置为暂停状态。然后,执行步骤208。
[0046]当然,如果智能卡是被再次插入的、与前次相同的智能卡,其他条件接收系统延续前次的状态,仍处于暂停状态,则不需要再重复暂停及更改状态变量。
[0047]步骤208:运行当前条件接收系统,实现条件接收功能。
[0048]条件接收功能的具体实现可参考图1实施例中的步骤104的描述。
[0049]该第二个实施例在初始化全部条件接收系统后,仅将当前智能卡所对应的条件接收系统设置为运行状态,以保证终端实现正常的条件接收,而将其他条件接收系统的部分线程暂停,从而减少了终端线程负载,降低了对终端系统资源的占用。
[0050]请参阅图3,该图所示为本发明实现智能卡动态插拔响应的方法第三个实施例的流程图。
[0051]如图3所示,该实施例实现智能卡动态插拔响应的方法的过程如下:
步骤301:流程开始。
[0052]步骤302:终端开机,初始化终端中预置的全部条件接收系统。
[0053]该步骤的具体实现方法可以参考图1实施例中的步骤102的描述。
[0054]步骤303:判断终端中当前插入的智能卡的类型。
[0055]该步骤是在终端开机后对智能卡进行的初次判断。判断方法可参考图1实施例中步骤103的描述。
[0056]步骤304:选择与当前插入的智能卡的类型相对应的条件接收系统为当前条件接收系统。
[0057]步骤305:判断当前条件接收系统是否为暂停状态。若是,执行步骤306 ;否则,转至步骤307。
[0058]步骤306:如果当前条件接收系统处于暂停状态,需要先恢复当前条件接收系统的内核主线程为运行状态,并设置当前条件接收系统为正常状态,也即改变状态变量的值为正常状态对应的变量值。然后,暂停其他条件接收系统的内核主线程,并将这些其他条件接收系统设置为暂停状态,也即改变其状态变量的值为暂停状态对应的变量值。然后,执行步骤308。
[0059]步骤307:如果当前条件接收系统不是暂停状态,表示其状态是正常状态。暂停其他条件接收系统的内核主线程,并将这些其他条件接收系统设置为暂停状态。然后,执行步骤 308。
[0060]步骤308:运行当前条件接收系统。
[0061]上述步骤305至步骤308中各步骤的执行目的及执行方法可参考图2实施例中步骤205至步骤208的对应描述。
[0062]步骤309:判断是否存在有效智能卡被重新插入。如果是,转至步骤303 ;若否,执行步骤310。
[0063]该步骤的目的是确定是否需要重新判断当前插入的智能卡的类型。在该实施例中,除了在初次开机后即执行步骤303判断终端内是否插入有效智能卡以及判断当前插入的有效智能卡的类型之外,不再采用定时判断当前智能卡类型的操作过程,而采用下述判断过程来确定是否需要重新进行卡类型判断:
在终端中设置回调函数,如果智能卡被插入,反馈智能卡被插入的回调信息;如果智能卡被拔出,反馈智能卡被拔出的回调信息;而如果插入的智能卡是终端无法识别的卡,则反馈无效卡的回调信息。在终端开机运行过程中,应用程序能获取到这些回调信息。在终端开机运行的过程中,智能卡一般不会被频繁拔出再插入。这种情况下,如果频繁对当前插入的智能卡进行类型判断,将会占用较多的终端系统资源。鉴于此,在终端开机后首次判断了智能卡的类型并执行条件接收之后,只有在终端获取到有效智能卡被插入(也即被再次插入)的回调信息时才再次执行步骤303判断智能卡类型的过程以及后续对当前条件接收系统的处理过程。
[0064]步骤310:如果不存在有效智能卡重新插入,则执行正常处理过程。
[0065]这里的正常处理过程可能包含下述几方面的情形:
终端没有获取到关于智能卡的任何回调信息,表明智能卡未被拔出或重新插入,则继续运行当前条件接收系统。
[0066]终端获取到智能卡被拔出的回调信息,表明智能卡已经被拔出。如果智能卡被拔出,条件接收系统无法运行,可以不对终端中的各条件接收系统作任何处理,而仅在终端界面上给出“智能卡被拔出”的提示。
[0067]终端获取到无效智能卡被插入的回调信息,也可以对终端中的各条件接收系统不作任何处理,仅在终端界面上给出“智能卡无效”的提示。
[0068]步骤311:流程结束。
[0069]该实施例通过设定判断条件来确定何时对当前智能卡进行类型判断,在实现智能卡动态插拔响应的基础上,降低了频繁进行卡类型判断而造成的资源利用率、终端响应速度慢的问题。
[0070]请参阅图4,该图所示为本发明支持智能卡的终端一个实施例的结构框图。这里所说的终端,是指支持智能卡实现条件接收的终端,如机顶盒。
[0071]如图4所示,该实施例的终端内置有四种条件接收系统,分别为条件接收系统411、412、413及414,终端还包括有智能卡动态插拔响应装置42,用于实现智能卡终端对智能卡的动态插拔响应。
[0072]具体来说,智能卡动态插拔响应装置42包含如下的各单元:
初始化单元421,用于初始化终端内置的条件接收系统,且可以初始化内在的全部条件接收系统;
智能卡类型识别单元422,用于识别终端当前插入的智能卡的类型;
智能卡类型变化判定单元423,与智能卡类型识别单元422相连接,用于判定终端插入的智能卡的类型是否发生变化;
条件接收系统执行单元424,与智能卡类型识别单元422及智能卡类型变化判定单元422相连接,用于从终端预置的、在终端开机后由初始化单元421执行完初始化的条件接收系统中选取与当前插入的智能卡的类型对应的条件接收系统并运行和用于从终端预置的、在终端开机后由初始化单兀421执彳丁完初始化的条件接收系统中选取与变化后的智能卡的类型对应的条件接收系统并运行。
[0073]此外,智能卡动态插拔响应装置42还可以包括如下单元:
条件接收系统状态控制单元425,分别与智能卡类型识别单元422、智能卡类型变化判定单元423连接,用于设置当前插入的智能卡对应的条件接收系统为正常状态,暂停除当前插入的智能卡对应的条件接收系统之外的其他条件接收系统的内核主线程,并将暂停内核主线程的其他条件接收系统设置为暂停状态;
条件接收系统状态判定单元426,分别与智能卡类型识别单元422、条件接收系统状态控制单元
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1