本发明涉及移动终端技术领域,尤其涉及一种基于FDN的数据流量控制方法及系统。
背景技术:
FDN(Fixed dialer number) 也叫作固定拨号,指的是当FDN开启后,用户只能拨打和接听FDN列表中存在的号码,在很多国家和地区,会对FDN扩展一些限制功能。
这个功能是为了在手机借给第三方的时候防止非授权使用的。即A用户把手机借给B用户,只限定B用户拨打A用户指定的号码,非指定的号码不能拨出,这个功能同时也适用于在集体条件下(比如放在集体宿舍充电)防止别人使用。
但现有技术中开启FDN功能后,手机的数据流量依然在开启状态,其他人可能利用数据流量上网,造成用户的流量大量流失,为用户带来经济损失。
因此,现有技术还有待于改进和发展。
技术实现要素:
鉴于现有技术的不足,本发明目的在于提供一种基于FDN的数据流量控制方法及系统,旨在解决现有技术中手机开启FDN功能后,数据流量依然在开启状态,其他人可能利用数据流量上网,造成用户的流量大量流失的缺陷。
本发明的技术方案如下:
一种基于FDN的数据流量控制方法,其中,方法包括:
A、移动终端开机后,监听SIM卡的状态;
B、当监听到SIM卡的状态发生变化时,移动终端读取FDN的状态,若检测到FDN处于开启状态,则控制移动终端禁用数据流量。
所述的基于FDN的数据流量控制方法,其中,所述A之前还包括:
S、预先在设置数据流量处于开启状态或关闭状态的对应的标识符。
所述的基于FDN的数据流量控制方法,其中,所述S具体包括:
S1、预先设置数据流量处于开启状态的标识符为真;
S2、预先设置数据流量处于关闭状态的标识符为假。
所述的基于FDN的数据流量控制方法,其中,所述B具体包括:
B1、当监听到SIM卡的状态发生变化时,移动终端读取FDN的状态;
B2、若检测到FDN处于开启状态,判断移动终端是否开启数据流量,若开启则执行步骤B3,若未开启则执行步骤B4;
B3、控制移动终端禁用数据流量,并将当前数据流量的标识符设置为真;
B4、控制将当前数据流量的标识符设置为真。
所述的基于FDN的数据流量控制方法,其中,所述步骤B还包括:
B11、当监听到SIM卡的状态发生变化时,移动终端读取FDN的状态;
B21、若检测到FDN处于关闭状态,则将当前数据流量的标识符设置为假。
一种基于FDN的数据流量控制系统,其中,系统包括:
监听模块,用于移动终端开机后,监听SIM卡的状态;
检测与控制模块,用于当监听到SIM卡的状态发生变化时,移动终端读取FDN的状态,若检测到FDN处于开启状态,则控制移动终端禁用数据流量。
所述的基于FDN的数据流量控制系统,其中,所述系统还包括:
预先设置模块,用于预先在设置数据流量处于开启状态或关闭状态的对应的标识符。
所述的基于FDN的数据流量控制系统,其中,所述预先设置模块具体包括:
第一设置单元,用于预先设置数据流量处于开启状态的标识符为真;
第二设置单元,用于预先设置数据流量处于关闭状态的标识符为假。
所述的基于FDN的数据流量控制系统,其中,所述检测与控制模块具体包括:
第一监听与读取单元,用于当监听到SIM卡的状态发生变化时,移动终端读取FDN的状态;
判断单元,用于若检测到FDN处于开启状态,判断移动终端是否开启数据流量;
第一控制单元,用于控制移动终端禁用数据流量,并将当前数据流量的标识符设置为真;
第二控制单元,用于控制将当前数据流量的标识符设置为真。
所述的基于FDN的数据流量控制系统,其中,所述检测与控制模块还包括:
第二监听与读取单元,用于当监听到SIM卡的状态发生变化时,移动终端读取FDN的状态;
第三控制单元,用于若检测到FDN处于关闭状态,则将当前数据流量的标识符设置为假。
本发明提供了一种基于FDN的数据流量控制方法及系统,本发明可在用户的移动终端开启FDN模式后,禁用数据流量,从而防止用户的流量的大量流失,造成经济损失。
附图说明
图1为本发明的一种基于FDN的数据流量控制方法的较佳实施例的流程图。
图2为本发明的一种基于FDN的数据流量控制方法的具体应用实施例一的第二细化步骤流程图。
图3为本发明的一种基于FDN的数据流量控制方法的较佳实施例二的第二细化步骤流程图。
图4为本发明的一种基于FDN的数据流量控制系统的较佳实施例的功能原理框图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供了一种基于FDN的数据流量控制方法的较佳实施例的流程图,如图1所示,其中,方法包括:
步骤S100、移动终端开机后,监听SIM卡的状态。
具体实施时,SIM卡状态的监听包括:开机后SIM卡准备好后,插拔SIM卡,其他SIM卡的状态发生变化。监听到SIM卡状态发生变化后,首先判断当前是否能读取到FDN的状态,在SIM拔掉或者读取出现异常的时候不能获取其状态。根据FDN的状态,决定是否禁用数据流量及对应的设置disable_mobile_data的值。
监听开机启动SIM卡准备好后,插拔SIM卡,及其他SIM卡的状态变化,从中获取FDN的状态是开启还是关闭,设置disable_mobile_data的属性,并相应的对数据流量能否使用做控制。
FDN的状态是存储在SIM卡中的,所以我们需要通过读取SIM卡中的数据获得其值。
例如通过下面的方式获得FDN的状态:
boolean isFdnEnabled = Phone.getIccCard().getIccFdnEnabled()。
进一步的实施例中,步骤S100之前还包括:
步骤S10、预先在设置数据流量处于开启状态或关闭状态的对应的标识符。具体实施时,预先设置数据流量处于开启状态的标识符为真;预先设置数据流量处于关闭状态的标识符为假。
具体实施时,将禁用流量开启状态的标识符记为enable_mobile_data,若禁用流量,则enable_mobile_data为真,此时用户不能使用流量,当enable_mobile_data为false,则允许用户使用流量。
步骤S200、当监听到SIM卡的状态发生变化时,移动终端读取FDN的状态,若检测到FDN处于开启状态,则控制移动终端禁用数据流量。
具体实施时,主动开启FDN后,关闭数据流量,并且设置全局属性disable_mobile_data 为 true,如果该属性为true,则不允许开启数据流量,当用户关闭FDN后,将disable_mobile_data置为false。
实现方式:
获取telephonyManager,并通过telephonyManager关闭数据流量,全局设置属性disable_mobile_data保存是否允许使用数据流量的值。
// 获取telephonyManager
mTelephonyManager = (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
// 关闭数据流量
telephonyManager.setDataEnabledUsingSubId(subId[0], false)
// 设置disable_mobile_data的值
Settings.Global.putInt(mContext.getContentResolver(), “disable_mobile_data”, false)。
进一步的实施例中,如图2所示,是本发明一种基于FDN的数据流量控制方法的具体应用实施例一的第二细化步骤流程图,是FDN处于开启状态的一种具体实施例,具体地,步骤S200具体包括:
步骤S201、当监听到SIM卡的状态发生变化时,移动终端读取FDN的状态;
步骤S202、若检测到FDN处于开启状态,判断移动终端是否开启数据流量,若开启则执行步骤S203,若未开启则执行步骤S204;
步骤S203、控制移动终端禁用数据流量,并将当前数据流量的标识符设置为真;
步骤S204、控制将当前数据流量的标识符设置为真。
具体实施时,本发明中需要的FDN状态的开启过程具体如下:
用户请求开启FDN,并向运营商发送PIN码,运营商校验PIN码是否正确,若PIN码正确,判断当前是否开启数据流量,若数据流量开启,则关闭数据流量,并保存或设置变量disable_mobile_data为true,若数据流量未开启,则直接保存或设置变量disable_mobile_data为true。若PIN码错误,则FDN状态开启失败。
进一步的实施例中,如图3所示,是本发明一种基于FDN的数据流量控制方法的具体应用实施例一的第三细化步骤流程图,是FDN处于关闭状态的一种具体实施例,具体地,步骤S200具体包括:
步骤S211、当监听到SIM卡的状态发生变化时,移动终端读取FDN的状态;
步骤S221、若检测到FDN处于关闭状态,则将当前数据流量的标识符设置为假。
具体实施时,检测到用户请求关闭FDN,向运营商发送PIN码,运营商校验PIN码是否正确,若PIN码正确,则设置disable_mobile_data为false;若PIN码不正确,则FDN状态关闭失败。
当关闭数据流量时并不保存其当前的状态,相应的在FDN关闭时不做数据流量状态的恢复,如果用户想要使用数据流量,则重新开启,避免由于恢复默认开启状态,用户没察觉到,而造成费用浪费。是否禁用数据流量依赖于SIM卡中FDN的状态,而不依赖于某个电子设备的设置,这样更准确及符合使用标准。
由于加入了限制,那么当用户开启或者使用数据流量的时候,就要根据enable_mobile_data的值做相应的处理,enable_mobile_data为true则提示用户不能使用流量,enable_mobile_data为false,则允许用户使用。
在示例性实施例中,装置可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时计算机可读存储介质,例如包括指令的存储器,上述指令可由装置的处理器执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本发明还提供了一种基于FDN的数据流量控制系统的较佳实施例的功能原理框图,如图4所示,系统包括:
监听模块100,用于移动终端开机后,监听SIM卡的状态;具体如方法实施例所示。
检测与控制模块200,用于当监听到SIM卡的状态发生变化时,移动终端读取FDN的状态,若检测到FDN处于开启状态,则控制移动终端禁用数据流量;具体如方法实施例所示。
所述的基于FDN的数据流量控制系统,其中,所述系统还包括:
预先设置模块,用于预先在设置数据流量处于开启状态或关闭状态的对应的标识符;具体如方法实施例所示。
所述的基于FDN的数据流量控制系统,其中,所述预先设置模块具体包括:
第一设置单元,用于预先设置数据流量处于开启状态的标识符为真;具体如方法实施例所示。
第二设置单元,用于预先设置数据流量处于关闭状态的标识符为假;具体如方法实施例所示。
所述的基于FDN的数据流量控制系统,其中,所述检测与控制模块具体包括:
第一监听与读取单元,用于当监听到SIM卡的状态发生变化时,移动终端读取FDN的状态;具体如方法实施例所示。
判断单元,用于若检测到FDN处于开启状态,判断移动终端是否开启数据流量;具体如方法实施例所示。
第一控制单元,用于控制移动终端禁用数据流量,并将当前数据流量的标识符设置为真;具体如方法实施例所示。
第二控制单元,用于控制将当前数据流量的标识符设置为真;具体如方法实施例所示。
所述的基于FDN的数据流量控制系统,其中,所述检测与控制模块还包括:
第二监听与读取单元,用于当监听到SIM卡的状态发生变化时,移动终端读取FDN的状态;具体如方法实施例所示。
第三控制单元,用于若检测到FDN处于关闭状态,则将当前数据流量的标识符设置为假;具体如方法实施例所示。
综上所述,本发明提供了一种基于FDN的数据流量控制方法及系统,方法包括:移动终端开机后,监听SIM卡的状态;当监听到SIM卡的状态发生变化时,移动终端读取FDN的状态,若检测到FDN处于开启状态,则控制移动终端禁用数据流量。本发明可在用户的移动终端开启FDN模式后,禁用数据流量,从而防止用户的流量的大量流失,造成经济损失。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。