本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種基于電子設(shè)備的數(shù)據(jù)流量控制方法及系統(tǒng)。
背景技術(shù):
現(xiàn)在的電子設(shè)備安裝越來越多的應(yīng)用,電子設(shè)備的功能也越來越多,電子設(shè)備已經(jīng)成為人們?nèi)粘I钪械谋夭豢缮俚纳罟ぞ摺?/p>
現(xiàn)在電子設(shè)備的中很多應(yīng)用在打開時(shí),若當(dāng)前流量是打開狀態(tài),則電子設(shè)備會(huì)自動(dòng)連接流量。但人們?cè)诖蜷_電子設(shè)備流量的時(shí)候可能只是在使用某個(gè)應(yīng)用的時(shí)候需要,一般都希望只有這個(gè)應(yīng)用使用流量,其他的應(yīng)用都不允許使用,但通常來說別的應(yīng)用也會(huì)使用流量,這樣就造成了很多流量的浪費(fèi)或者偷用,為用戶使用電子設(shè)備帶來了不便。
因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。
技術(shù)實(shí)現(xiàn)要素:
鑒于現(xiàn)有技術(shù)的不足,本發(fā)明目的在于提供一種基于電子設(shè)備的數(shù)據(jù)流量控制方法及系統(tǒng),旨在解決現(xiàn)有技術(shù)中當(dāng)電子設(shè)備的數(shù)據(jù)流量開啟時(shí),電子設(shè)備中所有的應(yīng)用都會(huì)使用數(shù)據(jù)流量,造成了流量的浪費(fèi),為用戶使用電子設(shè)備帶來了不便的技術(shù)問題。
本發(fā)明的技術(shù)方案如下:
一種基于電子設(shè)備的數(shù)據(jù)流量控制方法,其中,方法包括步驟:
A、電子設(shè)備檢測到數(shù)據(jù)流量消耗后,獲取電子設(shè)備當(dāng)前正在消耗數(shù)據(jù)流量的應(yīng)用;電子設(shè)備判斷當(dāng)前正在消耗數(shù)據(jù)流量的應(yīng)用是否在預(yù)設(shè)的允許數(shù)據(jù)流量使用名單中;
B、若應(yīng)用在預(yù)設(shè)的允許數(shù)據(jù)流量使用名單中,則電子設(shè)備控制允許當(dāng)前正在消耗數(shù)據(jù)流量的應(yīng)用繼續(xù)訪問數(shù)據(jù)流量;
C、若應(yīng)用不在預(yù)設(shè)的數(shù)據(jù)流量使用名單中,則電子設(shè)備控制取消應(yīng)用數(shù)據(jù)流量訪問權(quán)限,并保存應(yīng)用對(duì)應(yīng)的數(shù)據(jù)到指定文件中。
所述的基于電子設(shè)備的數(shù)據(jù)流量控制方法,其中,所述步驟A之前還包括步驟:
S1、電子設(shè)備監(jiān)聽到數(shù)據(jù)流量開啟時(shí),獲取當(dāng)前正在運(yùn)行的應(yīng)用,并判斷當(dāng)前運(yùn)行的應(yīng)用是否為桌面應(yīng)用;
S2、若當(dāng)前運(yùn)行的應(yīng)用為桌面應(yīng)用,則控制將電子設(shè)備中的所有應(yīng)用加入預(yù)設(shè)的允許數(shù)據(jù)流量使用名單;
S3、若當(dāng)前運(yùn)行的應(yīng)用為非桌面應(yīng)用,則控制將當(dāng)前運(yùn)行的應(yīng)用加入預(yù)設(shè)的允許數(shù)據(jù)流量使用名單。
所述的基于電子設(shè)備的數(shù)據(jù)流量控制方法,其中,所述步驟C之后還包括步驟:
D、當(dāng)檢測到數(shù)據(jù)流量關(guān)閉時(shí),電子設(shè)備控制恢復(fù)應(yīng)用的數(shù)據(jù)流量訪問權(quán)限。
所述的基于電子設(shè)備的數(shù)據(jù)流量控制方法,其中,所述步驟S1具體包括步驟:
S11、電子設(shè)備監(jiān)聽到數(shù)據(jù)流量開啟時(shí),獲取電子設(shè)備的界面管理類;
S12、根據(jù)界面管理類獲取運(yùn)行在電子設(shè)備最上層的任務(wù),根據(jù)最上層的任務(wù)獲取當(dāng)前運(yùn)行的應(yīng)用的包名,并根據(jù)應(yīng)用的包名判斷當(dāng)前運(yùn)行的應(yīng)用是否為桌面應(yīng)用。
所述的基于電子設(shè)備的數(shù)據(jù)流量控制方法,其中,所述步驟D具體包括步驟:
D1、當(dāng)檢測到數(shù)據(jù)流量關(guān)閉時(shí),電子設(shè)備判斷指定文件中是否保存有數(shù)據(jù);
D2、若指定文件中保存有數(shù)據(jù),則根據(jù)數(shù)據(jù)控制恢復(fù)對(duì)應(yīng)的應(yīng)用的數(shù)據(jù)流量訪問權(quán)限后,清空指定文件中保存的數(shù)據(jù)。
一種基于電子設(shè)備的數(shù)據(jù)流量控制系統(tǒng),其中,系統(tǒng)包括:
應(yīng)用獲取與判斷模塊,用于電子設(shè)備檢測到數(shù)據(jù)流量消耗后,獲取電子設(shè)備當(dāng)前正在消耗數(shù)據(jù)流量的應(yīng)用,電子設(shè)備判斷當(dāng)前正在消耗數(shù)據(jù)流量的應(yīng)用是否在預(yù)設(shè)的允許數(shù)據(jù)流量使用名單中;
第一流量控制模塊,用于若應(yīng)用在預(yù)設(shè)的允許數(shù)據(jù)流量使用名單中,則電子設(shè)備控制允許當(dāng)前正在消耗數(shù)據(jù)流量的應(yīng)用繼續(xù)訪問數(shù)據(jù)流量;
第二流量控制模塊,用于若應(yīng)用不在預(yù)設(shè)的數(shù)據(jù)流量使用名單中,則電子設(shè)備控制取消應(yīng)用數(shù)據(jù)流量訪問權(quán)限,并保存應(yīng)用對(duì)應(yīng)的數(shù)據(jù)到指定文件中。
所述的基于電子設(shè)備的數(shù)據(jù)流量控制系統(tǒng),其中,所述系統(tǒng)還包括:
監(jiān)聽與判斷模塊,用于電子設(shè)備監(jiān)聽到數(shù)據(jù)流量開啟時(shí),獲取當(dāng)前正在運(yùn)行的應(yīng)用,并判斷當(dāng)前運(yùn)行的應(yīng)用是否為桌面應(yīng)用;
第一應(yīng)用添加模塊,用于若當(dāng)前運(yùn)行的應(yīng)用為桌面應(yīng)用,則控制將電子設(shè)備中的所有應(yīng)用加入預(yù)設(shè)的允許數(shù)據(jù)流量使用名單;
第二應(yīng)用添加模塊,用于若當(dāng)前運(yùn)行的應(yīng)用為非桌面應(yīng)用,則控制將當(dāng)前運(yùn)行的應(yīng)用加入預(yù)設(shè)的允許數(shù)據(jù)流量使用名單。
所述的基于電子設(shè)備的數(shù)據(jù)流量控制系統(tǒng),其中,所述系統(tǒng)還包括:
權(quán)限恢復(fù)模塊,用于當(dāng)檢測到數(shù)據(jù)流量關(guān)閉時(shí),電子設(shè)備控制恢復(fù)應(yīng)用的數(shù)據(jù)流量訪問權(quán)限。
所述的基于電子設(shè)備的數(shù)據(jù)流量控制系統(tǒng),其中,所述監(jiān)聽與判斷模塊具體包括:
監(jiān)聽單元,用于電子設(shè)備監(jiān)聽到數(shù)據(jù)流量開啟時(shí),獲取電子設(shè)備的界面管理類;
應(yīng)用包名獲取與判斷單元,用于根據(jù)界面管理類獲取運(yùn)行在電子設(shè)備最上層的任務(wù),根據(jù)最上層的任務(wù)獲取當(dāng)前運(yùn)行的應(yīng)用的包名,并根據(jù)應(yīng)用的包名判斷當(dāng)前運(yùn)行的應(yīng)用是否為桌面應(yīng)用。
所述的基于電子設(shè)備的數(shù)據(jù)流量控制系統(tǒng),其中,所述權(quán)限恢復(fù)模塊具體包括:
檢測與判斷單元,用于當(dāng)檢測到數(shù)據(jù)流量關(guān)閉時(shí),電子設(shè)備判斷指定文件中是否保存有數(shù)據(jù);
訪問權(quán)限恢復(fù)單元,用于若指定文件中保存有數(shù)據(jù),則根據(jù)數(shù)據(jù)控制恢復(fù)對(duì)應(yīng)的應(yīng)用的數(shù)據(jù)流量訪問權(quán)限后,清空指定文件中保存的數(shù)據(jù)。
本發(fā)明提供了一種基于電子設(shè)備的數(shù)據(jù)流量控制方法及系統(tǒng),本發(fā)明可通過檢測當(dāng)前使用的應(yīng)用不是用戶指定的流量使用者,則關(guān)閉應(yīng)用的流量訪問權(quán)限,從而防止其他應(yīng)用使用流量,避免了流量的浪費(fèi),為用戶帶來了方便。
附圖說明
圖1為本發(fā)明的一種基于電子設(shè)備的數(shù)據(jù)流量控制方法的較佳實(shí)施例的流程圖。
圖2為本發(fā)明的一種基于電子設(shè)備的數(shù)據(jù)流量控制方法的具體應(yīng)用實(shí)施例的界面在堆棧中的堆放示意圖。
圖3為本發(fā)明的一種基于電子設(shè)備的數(shù)據(jù)流量控制方法的具體應(yīng)用實(shí)施例的應(yīng)用的流量訪問權(quán)限限制的流程圖。
圖4為本發(fā)明的一種基于電子設(shè)備的數(shù)據(jù)流量控制方法的具體應(yīng)用實(shí)施例的應(yīng)用的流量訪問權(quán)限恢復(fù)的流程圖。
圖5為本發(fā)明的一種基于電子設(shè)備的數(shù)據(jù)流量控制系統(tǒng)的較佳實(shí)施例的功能原理框圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明還提供了一種基于電子設(shè)備的數(shù)據(jù)流量控制系統(tǒng)的較佳實(shí)施例的流程圖,如圖1所示,方法包括:
步驟S100、電子設(shè)備檢測到數(shù)據(jù)流量消耗后,獲取電子設(shè)備當(dāng)前正在消耗數(shù)據(jù)流量的應(yīng)用,電子設(shè)備判斷當(dāng)前正在消耗數(shù)據(jù)流量的應(yīng)用是否在預(yù)設(shè)的允許數(shù)據(jù)流量使用名單中;如果是,則執(zhí)行步驟S200,如果否,則執(zhí)行步驟S300。
具體實(shí)施時(shí),電子設(shè)備為手機(jī)、平板電腦等可使用數(shù)據(jù)流量獲取數(shù)據(jù)的智能設(shè)備。具體地,可通過后臺(tái)來獲取正在消耗數(shù)據(jù)流量的應(yīng)用。其中監(jiān)控使用流量的具體是通過:可以通過流量管理類(TrafficStats)來監(jiān)控流量的使用情況,比如通過TrafficStats.getUidRxBytes(uid);方法,再加上時(shí)間差的計(jì)算,我們就能知道當(dāng)前的uid有沒有使用流量;
我們可以獲取到當(dāng)前運(yùn)行的應(yīng)用的包名,通過包名,借助package管理類,我們獲取到它的user Id即uid,代碼舉例如下:
ApplicationInfo applicationInfo = packageManager.getApplicationInfo(包名, PackageManager.GET_ACTIVITIES);Int uid = applicationInfo.uid();
其中,獲取應(yīng)用的方式具體為:后臺(tái)有task(可以認(rèn)為是堆棧)會(huì)存放所有運(yùn)行過的界面類。所有運(yùn)行過的應(yīng)用程序及它的界面會(huì)存放在一個(gè)或者多個(gè)task中,有的時(shí)候,比如用戶點(diǎn)擊back鍵的時(shí)候,回到上一次界面,它的實(shí)現(xiàn)原理就是從task中獲取應(yīng)該會(huì)到哪個(gè)界面,然后進(jìn)行呈現(xiàn)。
具體的一個(gè)例子如下:在默認(rèn)的情況下,如果我們運(yùn)行了A界面,又從A頁面進(jìn)入到B界面,再從B界面進(jìn)入到C界面,那么task的狀態(tài)及存放信息如圖2所示,先運(yùn)行的界面會(huì)放在棧底,最后運(yùn)行的界面會(huì)放在棧頂。
根據(jù)獲取的應(yīng)用,判斷當(dāng)前運(yùn)行的應(yīng)用是否在預(yù)設(shè)的允許數(shù)據(jù)流量使用名單中。
具體實(shí)施時(shí),步驟S100之前還包括:
步驟S1、電子設(shè)備監(jiān)聽到數(shù)據(jù)流量開啟時(shí),獲取當(dāng)前正在運(yùn)行的應(yīng)用,并判斷當(dāng)前運(yùn)行的應(yīng)用是否為桌面應(yīng)用;
步驟S2、若當(dāng)前運(yùn)行的應(yīng)用為桌面應(yīng)用,則控制將電子設(shè)備中的所有應(yīng)用加入預(yù)設(shè)的允許數(shù)據(jù)流量使用名單;
步驟S3、若當(dāng)前運(yùn)行的應(yīng)用為非桌面應(yīng)用,則控制將當(dāng)前運(yùn)行的應(yīng)用加入預(yù)設(shè)的允許數(shù)據(jù)流量使用名單。
具體實(shí)施時(shí),步驟S1中監(jiān)聽到數(shù)據(jù)流量是否開啟,是通過以下方法進(jìn)行確定:首先注冊(cè)android.net.conn.CONNECTIVITY_CHANGE的廣播,這樣當(dāng)數(shù)據(jù)連接變化的時(shí)候我們能接收到通知;
當(dāng)收到廣播之后,我們判斷當(dāng)前連接的狀態(tài)是打開還是關(guān)閉,舉例代碼如下:
若NetworkInfo.State.CONNECTED==mNetworkInfo.getState()表示數(shù)據(jù)連接打開并連接上了;
NetworkInfo.State.DISCONNECTED ==mNetworkInfo.getState()表示數(shù)據(jù)連接斷開了。
步驟S2中如果當(dāng)前界面是桌面應(yīng)用,比如Launcher應(yīng)用,那么這時(shí)候打開流量,所有的應(yīng)用都可以使用流量;則將電子設(shè)備的中所有應(yīng)用都加入預(yù)設(shè)的允許數(shù)據(jù)流量使用名單。
步驟S3中如果當(dāng)前界面呈現(xiàn)的是非桌面應(yīng)用的其他應(yīng)用,比如A應(yīng)用,這時(shí)候去打開流量,則只有A應(yīng)用能夠使用流量。取A應(yīng)用的信息,并且用一個(gè)string保存允許使用數(shù)據(jù)流量的應(yīng)用包名。
進(jìn)一步的實(shí)施例中,步驟S1具體包括:
步驟S11、電子設(shè)備監(jiān)聽到數(shù)據(jù)流量開啟時(shí),獲取電子設(shè)備的界面管理類;
步驟S12、根據(jù)界面管理類獲取運(yùn)行在電子設(shè)備最上層的任務(wù),根據(jù)最上層的任務(wù)獲取當(dāng)前運(yùn)行的應(yīng)用的包名,并根據(jù)應(yīng)用的包名判斷當(dāng)前運(yùn)行的應(yīng)用是否為桌面應(yīng)用。
具體實(shí)施時(shí),具體實(shí)現(xiàn)獲取正在運(yùn)行的應(yīng)用的方法如下所示:
先獲取界面管理類ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
獲取運(yùn)行在最上層的task;
List<RunningTaskInfo> tasks = activityManager.getRunningTasks(1);
獲取到當(dāng)前運(yùn)行的應(yīng)用信息RunningTaskInfo taskInfo = tasks.get(0);
String packageName = taskInfo.topActivity.getPackageName();由于包名唯一標(biāo)識(shí)一個(gè)應(yīng)用,所以我們獲取應(yīng)用的包名就行了。
步驟S200、電子設(shè)備控制允許當(dāng)前正在消耗數(shù)據(jù)流量的應(yīng)用繼續(xù)訪問數(shù)據(jù)流量。
具體實(shí)施時(shí),電子設(shè)備都擁有類似的安全控制,比如對(duì)于不同的功能和操作規(guī)定對(duì)應(yīng)的permission,如果誰要進(jìn)行某個(gè)操作或者想擁有某個(gè)功能,那么就要聲明并獲取到對(duì)應(yīng)的permission。
對(duì)于數(shù)據(jù)流量的使用權(quán)限,我們需要擁有類似如下的permission:
permission.INTERNET,
permission.ACCESS_NETWORK_STATE,
permission.CHANGE_NETWORK_STATE;
如果發(fā)現(xiàn)非指定的應(yīng)用使用數(shù)據(jù)流量,我們?nèi)コ鋵?duì)應(yīng)的權(quán)限就可以了。我們對(duì)權(quán)限進(jìn)行控制,以此來達(dá)到對(duì)數(shù)據(jù)訪問的控制。若當(dāng)前正在消耗數(shù)據(jù)流量的應(yīng)用在預(yù)設(shè)的允許數(shù)據(jù)流量使用名單中,則不對(duì)應(yīng)用的數(shù)據(jù)流量進(jìn)行限制。
步驟S300、電子設(shè)備控制取消應(yīng)用數(shù)據(jù)流量訪問權(quán)限,并保存應(yīng)用對(duì)應(yīng)的數(shù)據(jù)到指定文件中。
具體實(shí)施時(shí),若當(dāng)前正在消耗數(shù)據(jù)流量的應(yīng)用不在預(yù)設(shè)的允許數(shù)據(jù)流量使用名單中,則控制取消應(yīng)用數(shù)據(jù)流量訪問權(quán)限,并保存應(yīng)用對(duì)應(yīng)的數(shù)據(jù),數(shù)據(jù)包括應(yīng)用包名和取消數(shù)據(jù)流量訪問權(quán)限的時(shí)間。
例如,如果當(dāng)前最上層的應(yīng)用是A,它的uid是aUid,本來只允許aUid使用數(shù)據(jù)流量,但是我們發(fā)現(xiàn)bUid使用了流量,那么我們就根據(jù)bUid獲取到該應(yīng)用的信息(跟獲取uid的方式相反,即通過uid獲取ApplicationInfo),通過package管理類(packageManager)獲取其全面的信息,并去掉該應(yīng)用的流量使用權(quán)限。
同時(shí)為了以后對(duì)permission的恢復(fù),我們需要將該數(shù)據(jù)存儲(chǔ)起來。可以保存在數(shù)據(jù)庫或者文件中,保存的數(shù)據(jù)至少要包括如下信息
1)去除permission的應(yīng)用包名
2)去除permission的時(shí)間。
獲取應(yīng)用permission的方式,依然借助package管理類,舉例代碼如下:
String[] mPermissions = mPackageManager.getPackageInfo(packageName, PackageManager.GET_PERMISSIONS).requestedPermissions。
進(jìn)一步的實(shí)施例中,步驟S300之后還包括:
步驟S400、當(dāng)檢測到數(shù)據(jù)流量關(guān)閉時(shí),電子設(shè)備控制恢復(fù)應(yīng)用的數(shù)據(jù)流量訪問權(quán)限。
具體實(shí)施時(shí),數(shù)據(jù)流量關(guān)閉時(shí),恢復(fù)限制的應(yīng)用的權(quán)限,從而不影響應(yīng)用的下次使用,有利于用戶再下次使用應(yīng)用時(shí)具有數(shù)據(jù)流量訪問權(quán)限。
進(jìn)一步的實(shí)施例中,步驟S400具體包括:
步驟S401、當(dāng)檢測到數(shù)據(jù)流量關(guān)閉時(shí),電子設(shè)備判斷指定文件中是否保存有數(shù)據(jù);
步驟S402、若指定文件中保存有數(shù)據(jù),則根據(jù)數(shù)據(jù)控制恢復(fù)對(duì)應(yīng)的應(yīng)用的數(shù)據(jù)流量訪問權(quán)限后,清空指定文件中保存的數(shù)據(jù)。
具體實(shí)施時(shí),首先讀取當(dāng)時(shí)去除permission時(shí)保存的數(shù)據(jù),如果沒有數(shù)據(jù)則不作處理,如果有數(shù)據(jù),則通過包名獲得哪些應(yīng)用需要恢復(fù)。
恢復(fù)方法類似通過package管理類(packageManager)去除permission的方式,給應(yīng)用重新set上移除的數(shù)據(jù)訪問permission就行了?;謴?fù)之后同時(shí)要清空這些保存的數(shù)據(jù)。
本發(fā)明中還提供了一種基于電子設(shè)備的數(shù)據(jù)流量控制方法的具體應(yīng)用實(shí)施例的應(yīng)用的流量訪問權(quán)限限制的流程圖,如圖3所示,方法包括:
步驟S10、監(jiān)聽數(shù)據(jù)流量的開啟;
步驟S20、獲取當(dāng)前最上層的正在運(yùn)行的應(yīng)用信息,若正在運(yùn)行的應(yīng)用為桌面應(yīng)用,則執(zhí)行步驟S92,若正在運(yùn)行的應(yīng)用信息為非桌面應(yīng)用,則執(zhí)行步驟S30;
步驟S30、獲取該應(yīng)用信息,并且用一個(gè)string字符串保存允許使用數(shù)據(jù)流量的應(yīng)用包名;
步驟S40、監(jiān)控使用流量的應(yīng)用;
步驟S50、判斷是否監(jiān)聽某個(gè)應(yīng)用使用數(shù)據(jù)流量,如果是,則執(zhí)行步驟S60,如果否,則執(zhí)行步驟S40;
步驟S60、獲取該應(yīng)用信息;
步驟S70、判斷該應(yīng)用是否是允許使用數(shù)據(jù)流量的應(yīng)用,若是,則執(zhí)行步驟S92,若否,則執(zhí)行步驟S80;
步驟S80、去除該應(yīng)用的數(shù)據(jù)訪問權(quán)限;
步驟S90、保存該應(yīng)用的信息;
步驟S91、流程結(jié)束;
步驟S92、不做處理。
本發(fā)明中還提供了一種基于電子設(shè)備的數(shù)據(jù)流量控制方法的具體應(yīng)用實(shí)施例的應(yīng)用的流量訪問權(quán)限恢復(fù)的流程圖,如圖4所示,方法包括:
步驟S21、監(jiān)聽數(shù)據(jù)流量的關(guān)閉;
步驟S22、讀取當(dāng)前去除permission時(shí)保存的數(shù)據(jù);
步驟S23、判斷數(shù)據(jù)是否存在,若存在,則執(zhí)行步驟S24,若不存在,則執(zhí)行步驟S27;
步驟S24、恢復(fù)這些應(yīng)用的數(shù)據(jù)訪問權(quán)限;
步驟S25、清除保存的數(shù)據(jù);
步驟S26、流程結(jié)束;
步驟S27、不做處理,流程結(jié)束。
在示例性實(shí)施例中,裝置可以被一個(gè)或多個(gè)應(yīng)用專用集成電路(ASIC)、數(shù)字信號(hào)處理器(DSP)、數(shù)字信號(hào)處理設(shè)備(DSPD)、可編程邏輯器件(PLD)、現(xiàn)場可編程門陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實(shí)現(xiàn),用于執(zhí)行上述方法。
在示例性實(shí)施例中,還提供了一種包括指令的非臨時(shí)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如包括指令的存儲(chǔ)器,上述指令可由裝置的處理器執(zhí)行以完成上述方法。例如,所述非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是ROM、隨機(jī)存取存儲(chǔ)器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲(chǔ)設(shè)備等。
本發(fā)明中還提供了一種基于電子設(shè)備的數(shù)據(jù)流量控制系統(tǒng)的較佳實(shí)施例功能原理框圖,如圖5所示,系統(tǒng)包括:
應(yīng)用獲取與判斷模塊100,用于電子設(shè)備檢測到數(shù)據(jù)流量消耗后,獲取電子設(shè)備當(dāng)前正在消耗數(shù)據(jù)流量的應(yīng)用,電子設(shè)備判斷當(dāng)前正在消耗數(shù)據(jù)流量的應(yīng)用是否在預(yù)設(shè)的允許數(shù)據(jù)流量使用名單中;具體如方法實(shí)施例所述。
第一流量控制模塊200,用于若應(yīng)用在預(yù)設(shè)的允許數(shù)據(jù)流量使用名單中,則電子設(shè)備控制允許當(dāng)前正在消耗數(shù)據(jù)流量的應(yīng)用繼續(xù)訪問數(shù)據(jù)流量;具體如方法實(shí)施例所述。
第二流量控制模塊300,用于若應(yīng)用不在預(yù)設(shè)的數(shù)據(jù)流量使用名單中,則電子設(shè)備控制取消應(yīng)用數(shù)據(jù)流量訪問權(quán)限,并保存應(yīng)用對(duì)應(yīng)的數(shù)據(jù)到指定文件中;具體如方法實(shí)施例所述。
所述的基于電子設(shè)備的數(shù)據(jù)流量控制系統(tǒng),其中,所述系統(tǒng)還包括:
監(jiān)聽與判斷模塊,用于電子設(shè)備監(jiān)聽到數(shù)據(jù)流量開啟時(shí),獲取當(dāng)前正在運(yùn)行的應(yīng)用,并判斷當(dāng)前運(yùn)行的應(yīng)用是否為桌面應(yīng)用;具體如方法實(shí)施例所述。
第一應(yīng)用添加模塊,用于若當(dāng)前運(yùn)行的應(yīng)用為桌面應(yīng)用,則控制將電子設(shè)備中的所有應(yīng)用加入預(yù)設(shè)的允許數(shù)據(jù)流量使用名單;具體如方法實(shí)施例所述。
第二應(yīng)用添加模塊,用于若當(dāng)前運(yùn)行的應(yīng)用為非桌面應(yīng)用,則控制將當(dāng)前運(yùn)行的應(yīng)用加入預(yù)設(shè)的允許數(shù)據(jù)流量使用名單;具體如方法實(shí)施例所述。
所述的基于電子設(shè)備的數(shù)據(jù)流量控制系統(tǒng),其中,所述系統(tǒng)還包括:
權(quán)限恢復(fù)模塊,用于當(dāng)檢測到數(shù)據(jù)流量關(guān)閉時(shí),電子設(shè)備控制恢復(fù)應(yīng)用的數(shù)據(jù)流量訪問權(quán)限;具體如方法實(shí)施例所述。
所述的基于電子設(shè)備的數(shù)據(jù)流量控制系統(tǒng),其中,所述監(jiān)聽與判斷模塊具體包括:
監(jiān)聽單元,用于電子設(shè)備監(jiān)聽到數(shù)據(jù)流量開啟時(shí),獲取電子設(shè)備的界面管理類;具體如方法實(shí)施例所述。
應(yīng)用包名獲取與判斷單元,用于根據(jù)界面管理類獲取運(yùn)行在電子設(shè)備最上層的任務(wù),根據(jù)最上層的任務(wù)獲取當(dāng)前運(yùn)行的應(yīng)用的包名,并根據(jù)應(yīng)用的包名判斷當(dāng)前運(yùn)行的應(yīng)用是否為桌面應(yīng)用;具體如方法實(shí)施例所述。
所述的基于電子設(shè)備的數(shù)據(jù)流量控制系統(tǒng),其中,所述權(quán)限恢復(fù)模塊具體包括:
檢測與判斷單元,用于當(dāng)檢測到數(shù)據(jù)流量關(guān)閉時(shí),電子設(shè)備判斷指定文件中是否保存有數(shù)據(jù);具體如方法實(shí)施例所述。
訪問權(quán)限恢復(fù)單元,用于若指定文件中保存有數(shù)據(jù),則根據(jù)數(shù)據(jù)控制恢復(fù)對(duì)應(yīng)的應(yīng)用的數(shù)據(jù)流量訪問權(quán)限后,清空指定文件中保存的數(shù)據(jù);具體如方法實(shí)施例所述。
綜上所述,本發(fā)明提供了一種基于電子設(shè)備的數(shù)據(jù)流量控制方法及系統(tǒng),本發(fā)明可通過檢測當(dāng)前使用的應(yīng)用不是用戶指定的流量使用者,則關(guān)閉應(yīng)用的流量訪問權(quán)限,從而防止其他應(yīng)用使用流量,避免了流量的浪費(fèi),為用戶帶來了方便。
應(yīng)當(dāng)理解的是,本發(fā)明的應(yīng)用不限于上述的舉例,對(duì)本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進(jìn)或變換,所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。