一種基於FDN的數據流量控制方法及系統與流程
2023-05-16 21:38:41 3

本發明涉及移動終端技術領域,尤其涉及一種基於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模式後,禁用數據流量,從而防止用戶的流量的大量流失,造成經濟損失。
應當理解的是,本發明的應用不限於上述的舉例,對本領域普通技術人員來說,可以根據上述說明加以改進或變換,所有這些改進和變換都應屬於本發明所附權利要求的保護範圍。