发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种根据网络状态进行解锁卡的方法、系统及移动终端,从而解决现有技术中使用双卡移动终端时容易误操作SIM的问题。
一种根据网络状态进行解锁卡的方法,包括:
A、监听第一卡槽中第一SIM卡的网络状态;
B、检测并判断第一SIM卡是否有网络服务;
C、当第一SIM卡有网络服务,则控制移动终端锁定第二卡槽;当第一SIM卡没有网络服务,则控制移动终端解锁第二卡槽。
所述的根据网络状态进行解锁卡的方法,所述步骤A之前还包括:
S1、预先设置第一卡槽为优先使用的SIM卡卡槽。
所述的根据网络状态进行解锁卡的方法,所述步骤A之前还包括:
S2、预先设置第一SIM卡为优先使用的SIM卡。
所述的根据网络状态进行解锁卡的方法,所述步骤A具体包括:
A1、监听获取网络服务变化状态;
A2、判断是否是第一SIM卡的网络状态,当是则进入步骤B。
所述的根据网络状态进行解锁卡的方法,所述步骤C具体包括:
C1、当第一SIM卡有网络服务,则检测第二卡槽是否被锁,如果没有被锁,则控制移动终端锁定第二卡槽;
C2、当第一SIM卡没有网络服务,再检测第二卡槽是否被锁,如果被锁,则控制移动终端解锁第二卡槽。
所述的根据网络状态进行解锁卡的方法,所述移动终端为具有双SIM卡卡槽的手机。
所述的根据网络状态进行解锁卡的方法,所述移动终端为具有双SIM卡卡槽的平板电脑。
一种根据网络状态进行解锁卡系统,包括:
监听模块,用于监听第一卡槽中第一SIM卡的网络状态;
判断模块,用于检测并判断第一SIM卡是否有网络服务;
控制模块,用于当第一SIM卡有网络服务,则控制移动终端锁定第二卡槽;当第一SIM卡没有网络服务,则控制移动终端解锁第二卡槽。
所述根据网络状态进行解锁卡系统,还包括:
第一预先设置模块,用于预先设置第一卡槽为优先使用的SIM卡卡槽;
第二预先设置模块,用于预先设置第一SIM卡为优先使用的SIM卡。
一种移动终端,包括:以上所述的根据网络状态进行解锁卡系统。
本发明所提供的一种根据网络状态进行解锁卡的方法、系统及移动终端,通过监听和判断放入优先使用SIM卡的指定卡槽的网络服务状态,当有网络服务时锁定另外的卡槽,当没有网络服务时,将另外的卡槽解锁进行正常使用,从而大大减少用户的误操作SIM行为而产生的漫游SIM的费用,并且不需要增加任何硬件成本,为用户提供了方便。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参见图1,图1是本发明根据网络状态进行解锁卡的方法的较佳实施例的流程图。图1所示的一种根据网络状态进行解锁卡的方法,包括:
步骤S100、监听第一卡槽中第一SIM卡的网络状态;
步骤S200、检测并判断第一SIM卡是否有网络服务;
步骤S300、当第一SIM卡有网络服务,则控制移动终端锁定第二卡槽;当第一SIM卡没有网络服务,则控制移动终端解锁第二卡槽。
本发明实施例移动终端以手机为例进行说明,本发明实施例的手机为具有双SIM卡卡槽的手机,本发明实施例通过监听手机指定卡槽中SIM卡的网络状态,根据是否有网络服务,来控制是否对另一卡槽进行上锁和解锁。
具体的,用户首先需要预先设置第一卡槽为优先使用的SIM卡卡槽,预先设置第一SIM卡为优先使用的SIM卡(如本地SIM),将第一SIM卡放入优先使用的第一卡槽中(指定卡槽),也就是说,设置手机通话时优先使用第一卡槽中第一SIM卡;同时,设置第二卡槽为另外的备用卡槽,设置第二SIM卡为非优先SIM卡(如漫游卡),将第二SIM卡放入备用的第二卡槽中。
进一步的,实时监听第一卡槽中第一SIM卡的网络状态,检测并判断第一SIM卡是否有网络服务,即是实时监听手机的本地卡的网络服务状态,判断本地卡是否有网络服务。具体实施时,首先需要监听获取网络服务变化状态;判断是否是第一SIM卡(优先SIM卡)的网络状态,当是第一SIM卡的网络状态,则检测并判断第一SIM卡是否有网络服务。
当第一SIM卡有网络服务时,则控制手机锁定第二卡槽,具体实施时,首先,当第一SIM卡有网络服务,则检测第二卡槽是否被锁,如果没有被锁则控制移动终端锁定第二卡槽;也就是说如果优先使用本地卡,当本地卡有网络服务时,就检测备用卡槽是否被锁,如果没有被锁就控制手机自动锁住备用卡槽,例如下发AT指令锁住备用卡槽(SIMLOCK锁)使漫游卡无法使用。
当第一SIM卡没有网络服务,则控制手机解锁第二卡槽,具体实施时,首先,当第一SIM卡没有网络服务,再检测第二卡槽是否被锁,如果被锁则控制移动终端解锁第二卡槽。也就是说如果优先使用本地卡,而本地卡又没有网络服务时,例如掉网或无信号等,再检测备用卡槽是否被锁,如果被锁就控制手机将备用卡槽自动解锁,使漫游卡可用并可正常注册网络,能够正常使用。当然,如果当检测到本地卡恢复网络时,备用卡槽将随即被锁,使漫游卡无法使用,以减少漫游产生的费用。
按照以上方法可以大大减少用户的误操作行为而产生的额外费用(如漫游上网,漫游后台下载,漫游通话等)。
进一步的,用户也可以选择关闭优先使用SIM卡的设置,来释放内存运行资源。
另外,在其他实施例中所述移动终端也可以为具有双SIM卡卡槽的平板电脑。
进一步的,本发明实施例的关键伪代码实现为:当终端设备开启,用户在设置中设置好优先使用的卡槽后,系统会在后台运行Service服务来注册监听SIM状态变化广播,每当SIM卡状态有变化时则会进行相应的处理。向Modem下发AT指令使用的是modem(调制解调器)中的SIMLOCK处理,普通SIMLOCK机制即可;如果用户关闭优先使用设置后,则注销该服务以便释放内存运行资源。具体如下:
//注册SIM卡状态监听广播
<receiverandroid:name="SimStateReceiver"android:permission="android.permission.READ_PHONE_STATE">
<intent-filter>
<actionandroid:name="android.intent.action.SIM_INDICATOR_STATE_CHANGED"/>
</intent-filter>
</receiver>
Override
publicvoidonReceive(Contextcontext,Intentintent){
StringstateExtra=intent.getStringExtra(IccCardConstants.INTENT_KEY_ICC_STATE);
Log.d(TAG,"onReceive,stateExtra="+stateExtra);
intsimId=intent.getIntExtra(PhoneConstants.GEMINI_SIM_ID_KEY,PhoneConstants.GEMINI_SIM_1);
intprioritySimId=getPrioritySimId();
//判断是否为优先卡的SIM状态变化
if(simId!=prioritySimId){
//如果不是,则不处理
return;
}
//HandletheSIMchangedevent
if("android.intent.action.SIM_STATE_CHANGED".equals(intent.getAction())){
//判断优先SIM是否处于有服务状态
if(优先SIM卡有网络服务){
if(另外的卡槽未被锁){
向Modem下发AT指令对该卡槽进行上锁;
}
}
else{
//优先SIM卡没有网络服务
if(另外的卡槽是被锁状态){
向Modem下发AT指令对该卡槽进行解锁;
}
}
}
}
本发明还提供了一种根据网络状态进行解锁卡的方法的具体应用实施例,参考图2,图2是本发明根据网络状态进行解锁卡的方法的具体应用实施例的流程图,如图2所示,本发明具体应用实施例的根据网络状态进行解锁卡的方法包括:
步骤S10、用户在手机界面中设置优先使用卡槽;
步骤S20、插入两张SIM卡,将需要优先使用的SIM卡放入之前设置的优先使用卡槽中并开机;
步骤S30、监听获取网络服务变化状态;
步骤S40、判断是否是优先SIM卡的网络状态,当是,则进入步骤S50,当否,则结束进程;
步骤S50、判断是否有网络服务,当否,则进入步骤S60,当是,则进入步骤S70;
步骤S60、判断另外卡槽是否被锁,当是,则进入步骤S61,当否,则结束进程;
步骤S61、向Modem下发AT指令进行解锁;
步骤S62、卡槽解锁,非优先卡可正常使用;
步骤S70、判断另外卡槽是否被锁,当否,则进入步骤S71,当是,则结束进程;
步骤S71、向Modem下发AT指令进行上锁;
步骤S72、卡槽被锁,非优先卡无法使用。
基于上述方法实施例,本发明还提供了一种根据网络状态进行解锁卡系统,如图3所示,所述系统包括监听模块810、判断模块820、控制模块830,其中,
监听模块810,用于监听第一卡槽中第一SIM卡的网络状态;具体如上所述。
判断模块820,用于检测并判断第一SIM卡是否有网络服务;具体如上所述。
控制模块830,用于当第一SIM卡有网络服务,则控制移动终端锁定第二卡槽;当第一SIM卡没有网络服务,则控制移动终端解锁第二卡槽;具体如上所述。
所述根据网络状态进行解锁卡系统,还包括:
第一预先设置模块,用于预先设置第一卡槽为优先使用的SIM卡卡槽;具体如上所述。
第二预先设置模块,用于预先设置第一SIM卡为优先使用的SIM卡;具体如上所述。
另外,本发明还提供了一种移动终端,包括以上所述的根据网络状态进行解锁卡系统。
综上所述,本发明所提供的一种根据网络状态进行解锁卡的方法、系统及移动终端,通过监听和判断放入优先使用SIM卡的指定卡槽的网络服务状态,当有网络服务时锁定另外的卡槽,当没有网络服务时,将另外的卡槽解锁进行正常使用,从而大大减少用户的误操作SIM行为而产生的漫游SIM的费用,并且不需要增加任何硬件成本,为用户提供了方便。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。