本發(fā)明實施例涉及電子技術領域,尤其涉及一種權限檢測的方法及電子設備。
背景技術:
隨著科學技術的不斷進步,電子設備也得到了飛速的發(fā)展,許多電子設備,如智能手機、平板電腦等,成為了人們?nèi)粘I畹谋匦杵?,多種應用程序也被逐漸開發(fā)和廣泛使用。
在應用程序的開發(fā)過程中需要對應用程序的權限進行檢測,如果應用程序已申請了權項,但是未獲得該權限或者檢測當前的程序是否不在已申請的權限范圍內(nèi),則應用程序出現(xiàn)了異?!,F(xiàn)有技術在檢測應用程序是否出現(xiàn)異常時需要將應用程序功能全部開啟,滿負荷運行確定出應用程序的權限是否異常。
但本發(fā)明的發(fā)明人在實現(xiàn)本發(fā)明實施例中發(fā)明技術方案的過程中,發(fā)現(xiàn)上述技術至少存在如下技術問題:由于需要滿負荷運行應用程序,電子設備能耗較大。
技術實現(xiàn)要素:
本發(fā)明實施例提供一種權限檢測的方法及電子設備,用以解決現(xiàn)有技術中檢測應用程序權限時,電子設備能耗較大的技術問題,實現(xiàn)了減少檢測應用程序權限時電子設備的能耗的技術效果。
本發(fā)明實施例提供一種權限檢測的方法,包括:
確定應用程序已申請的權限和當前獲得的權限;
基于所述申請的權限和所述當前獲得的權限獲得差異信息;
基于所述差異信息對所述當前獲得的權限進行處理。
本發(fā)明實施例提供一種頁面保存的電子設備,包括:
確定單元,用于確定應用程序已申請的權限和當前獲得的權限;
獲得單元,用于基于所述申請的權限和所述當前獲得的權限獲得差異信息;
處理單元,用于基于所述差異信息對所述當前獲得的權限進行處理。
本發(fā)明實施例提供的權限檢測的方法及電子設備,確定應用程序已申請的權限和當前獲得的權限,將已申請的權限和當前獲得的權限進行對比確定差異信息,并根據(jù)差異信息對當前獲得的權限進行處理。減少了檢測應用程序的權限是否異常時電子設備的能耗。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例一中提供的一種權限檢測的方法的流程圖;
圖2為本發(fā)明實施例二中提供的一種權限檢測的電子設備的結(jié)構示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
請參考圖1,為本發(fā)明實施例中提供的一種權限檢測的方法的流程圖,所述方法包括:
S101:確定應用程序已申請的權限和當前獲得的權限;
本發(fā)明實施例中,在確定出權限是否出現(xiàn)了異常時,首先需要獲得應用程序已經(jīng)申請的權限和應用程序當前獲得的權限,再將已申請的權限和當前獲得的權限進行對比,如果發(fā)現(xiàn)應用程序有哪些是已經(jīng)申請了但是未獲得的權限,或者哪些應用程序調(diào)用的權限不在申請范圍之內(nèi)的情況(即獲得差異信息),就表明應用程序的權限出現(xiàn)了異常,這時就需要對應用程序當前獲得的權限進行處理,使得當前獲得的權限能夠與已申請的權限相匹配。
本發(fā)明實施例中,應用程序在運行特定功能的時候必須具有與這些功能對應的權限,如果應用程序沒有這些權限,則無法實現(xiàn)相應的功能。所以應用程序的開發(fā)人員在開發(fā)應用程序的時候,會根據(jù)應用程序的功能為應用程序申請權項,本實施例中可以在應用程序開發(fā)人員開發(fā)應用程序時將為應用程序申請的權限作為標識信息,寫入應用程序的安裝程序中,當應用程序安裝在電子設備時,可以將開發(fā)人員為應用程序申請的權限作為已申請的權限保存在電子設備中,這樣在檢測應用程序權限的時候,就可以直接調(diào)用保存在電子設備中的已申請的權限。
可選的,所述確定當前獲得的權限包括:
確定所述電子設備的第一權限,其中所述第一權限為所述電子設備提供的權限;
判斷應用程序是否能運行與所述第一權限對應的功能;
若為是,則確定所述第一權限為所述應用程序當前獲得的權限。
本發(fā)明實施例中,當前獲得的權限是應用程序在運行時所調(diào)用的權限,在確定當前獲得的權限時首先需要確定出電子設備的第一權限,該第一權限為所述電子設備的提供的權限。而在確定第一權限的時候首先需要確定電子設備所能提供的所有權限,并從電子設備所能提供的所有權限中確定出第一權限。再判斷應用程序是否能夠運行與第一權限對應的功能。
本發(fā)明實施例中已申請的權限可以保存在電子設備中,也可以保存在云端服務器中,可根據(jù)實際需求選擇,本發(fā)明中不做限制。
本發(fā)明實施例中有以下兩種方法確定當前獲得的權限:
第一種:從電子設備的所能提供的所有權限中確定任意一個權限為第一權限。根據(jù)第一權限確定出與第一權限對應的第一功能,如果應用程序能夠運行第一功能,就表明應用程序獲得了第一權限,即第一權限為應用程序當前獲得的程序。
具體的,以電子設備的所能提供的權限包括:“允許應用程序監(jiān)聽、控制、取消呼出電話的權限”、“允許應用程序接收、監(jiān)控、處理短信的權限”、“允許應用程序使用照相機的權限”、“允許應用程序讀取用戶的聯(lián)系人數(shù)據(jù)的權限”、“允許應用程序設置桌面壁紙的權限”為例??梢赃x取任意一個權限,比如“允許應用程序使用照相機的權限”,讓應用程序開啟照相功能,判斷應用程序是否能使用照相機,如果不能,則表明應用程序沒有獲得“允許應用程序使用照相機的權限”,如果應用程序能使用照相機則表明應用程序獲得了“允許應用程序使用照相機的權限”,將“允許應用程序使用照相機的權限”確定為該應用程序的已獲得的權限。之后,再從電子設備能夠提供的所有權限中選取一個權限,判斷應用程序是否獲得了該權限。
第二種:因為安裝的應用程序的功能不同,應用程序需要調(diào)用的權限也是不同的,所以本發(fā)明實施例中可以先確定應用程序能提供的功能,并根據(jù)應用程序能提供的功能,確定出應用程序可能調(diào)用的權限,并從可能調(diào)用的權限中選取第一權限,判斷應用程序是否能運行與應用程序?qū)墓δ?,如果可以則表明第一權限為已獲得的權限。
具體的,以電子設備的所能提供的權限包括:“允許應用程序監(jiān)聽、控制、取消呼出電話的權限”、“允許應用程序接收、監(jiān)控、處理短信的權限”、“允許應用程序使用照相機的權限”、“允許應用程序讀取用戶的聯(lián)系人數(shù)據(jù)的權限”、“允許應用程序設置桌面壁紙的權限”為例。如果應用程序為具有通信功能的A應用程序,則可以根據(jù)A應用程序的具有的通信功能確定出A應用程序可能需要的權限包括“允許應用程序監(jiān)聽、控制、取消呼出電話的權限”、“允許應用程序接收、監(jiān)控、處理短信的權限”、“允許應用程序讀取用戶的聯(lián)系人數(shù)據(jù)的權限”、“允許應用程序使用照相機的權限”。再從A應用程序可能需要的權限中選取一個權限(第一權限)比如“允許應用程序使用照相機的權限”,讓A應用程序開啟照相功能,判斷A應用程序是否能使用照相機,如果不能,則表明應用程序沒有獲得“允許應用程序使用照相機的權限”,如果應用程序能使用照相機則表明應用程序獲得了“允許應用程序使用照相機的權限”,將“允許應用程序使用照相機的權限”確定為A應用程序的已獲得的權限。之后,再從A應用程序可能需要的權限中選取一個權限,判斷應用程序是否獲得了該權限。通過本實施例的方法可以減少檢測的權限的數(shù)量,減少檢測時間,提高檢測效率。
S102:基于所述申請的權限和所述當前獲得的權限確定差異信息;
本發(fā)明實施例中,在確定出已申請的權限和當前獲得的權限之后,就可以將已申請的權限和當前獲得的權限進行比較,確定出差異信息。
具體的,以已申請的權限包括:“允許應用程序監(jiān)聽、控制、取消呼出電話的權限”、“允許應用程序接收、監(jiān)控、處理短信的權限”、“允許應用程序使用照相機的權限”、“允許應用程序讀取用戶的聯(lián)系人數(shù)據(jù)的權限”,當前獲得的權限包括:“允許應用程序設置桌面壁紙的權限”、“允許應用程序監(jiān)聽、控制、取消呼出電話的權限”、“允許應用程序接收、監(jiān)控、處理短信的權限”為例。將已申請的權限和當前獲得的權限進行對比,確定出差異信息:未同時包含在應用程序已申請的權限和當前獲得的權限中的為“允許應用程序使用照相機的權限”和“允許應用程序設置桌面壁紙的權限”。
S103:基于所述差異信息對所述當前獲得的權限進行處理。
可選的,所述基于所述差異信息對所述當前獲得的權限進行處理包括:
基于所述差異信息增加所述當前獲得的權限或減少所述當前獲得的權限。
本發(fā)明實施例中,在獲得差異信息之后就表明應用程序出現(xiàn)了異常,這時就需要根據(jù)差異信息對應用程序當前獲得的權限進行處理。增加應用程序當前獲得的權限或者減少應用程序當前獲得的權限。
可選的,所述基于所述差異信息對所述當前獲得的權限進行處理包括:
基于所述差異信息獲得差異權限,其中,所述差異權限為與所述差異信息對應的權限;
判斷所述差異權限是否包含在所述已申請的權限中;
若為是,將所述差異權限分配給所述應用程序,使得所述差異權限添加到所述當前獲得的權限中。
本發(fā)明實施例中,根據(jù)已確定出的差異信息之后就可以確定出與差異信息對應的差異權限,在判斷差異權限是否包含在已申請的權限中,如果是,則表明該差異權限是應用程序已經(jīng)申請的但是沒有獲得的權限,如果應用程序沒有獲得該差異權限則應用程序就不能運行與差異權限對應的功能,影響使用者的使用。這時就可以將差異權限分配給應用程序,讓應用程序獲得該差異權限。
具體的,以差異信息為未同時包含在應用程序已申請的權限和當前獲得的權限中的為“允許應用程序使用照相機的權限”和“允許應用程序設置桌面壁紙的權限”為例。確定差異信息之后,確定與差異信息對應的差異權限為“允許應用程序使用照相機的權限”和“允許應用程序設置桌面壁紙的權限”。再將差異權限和已申請的權限進行比較,判斷差異權限是否包含在已申請的權限中,如果已申請的權限包括:“允許應用程序監(jiān)聽、控制、取消呼出電話的權限”、“允許應用程序接收、監(jiān)控、處理短信的權限”、“允許應用程序讀取用戶的聯(lián)系人數(shù)據(jù)的權限”。則可以確定出差異權限“允許應用程序使用照相機的權限”和“允許應用程序設置桌面壁紙的權限”不包含在已申請的權限之中,表明應用程序申請了“允許應用程序使用照相機的權限”和“允許應用程序設置桌面壁紙的權限”但是電子設備并沒有給應用程序分配“允許應用程序使用照相機的權限”和“允許應用程序設置桌面壁紙的權限”,以至于應用程序沒有“允許應用程序使用照相機的權限”和“允許應用程序設置桌面壁紙的權限”。所以應用程序不具有使用照相機的功能,和設置桌面壁紙的功能,應用程序出現(xiàn)了異常。這時就需要將差異權限“允許應用程序使用照相機的權限”和“允許應用程序設置桌面壁紙的權限”分配給應用程序,使得差異權限添加在應用程序的已獲得的權限中,應用程序能夠運行使用照相機和設置桌面壁紙的功能。
本發(fā)明實例中如果差異權限不包含在已申請的權限中則表明差異權限包含在已獲得的權限中,有以下幾種方式處理差異權限:
第一種:所述判斷所述差異權限是否包含在所述已申請的權限中之后包括:
若為否,刪除所述差異權限,使得所述當前獲得的權限減少。
本發(fā)明實施例中,如果差異權限不包含在已申請的權限中,則表明差異權限包含在應用程序已獲得的權限中,則表明應用程序獲得的該差異權限并不是應用程序所需要的權限,應用程序的權限出現(xiàn)了異常,如果應用程序繼續(xù)獲得差異權限可能會導致篡改應用程序,或使用者的隱私信息泄露等安全問題。這時就可以將差異權限從應用程序已獲得的權限中刪除,減少應用程序已獲得的權限。
具體的,以差異權限包括“允許一個應用程序通過訪問GPS等方式獲取較精確的本地位置的權限”和“允許一個應用程序禁用設備必須擁有的權限的權限”為例。如果確定差異權限不包含在應用程序已申請的權限中時,則表明差異權限包含在應用程序當前獲得的權限中,如果應用程序繼續(xù)獲得“允許一個應用程序通過訪問GPS等方式獲取較精確的本地位置的權限”和“允許一個應用程序禁用設備必須擁有的權限的權限”的差異權限則可能導致使用者的位置信息泄露,或者電子設備的必須擁有的權限被禁用,導致電子設備出現(xiàn)安全隱患,影響使用者的使用。這時就可以將“允許一個應用程序通過訪問GPS等方式獲取較精確的本地位置的權限”和“允許一個應用程序禁用設備必須擁有的權限的權限”從應用程序已獲得的權限中刪除,提升電子設備的使用安全性。
第二種:所述判斷所述差異權限是否包含在所述已申請的權限中之后包括:
若為否,獲得與所述應用程序?qū)念A設權限;
判斷所述差異權限是否包含在所述預設權限中;
若為否,刪除所述差異權限,使得所述當前獲得的權限減少。
由于在實際應用中,應用程序的開發(fā)人員在對應用程序申請權限的時候,可能會出現(xiàn)忘記寫入權限的情況,使得應用程序無法獲得該權限,在使用過程中與該權限對應的功能無法運行,造成應用程序的異常。比如,具有導航功能的B應用程序,如果沒有“允許一個應用程序通過訪問GPS等方式獲取較精確的本地位置的權限”,則B應用程序無法獲取使用者的位置信息,實現(xiàn)不了導航功能。所以本發(fā)明實施例中,可以預先根據(jù)引用程序的功能,確定應用程序可能需要的權限,作為預設權限,在判斷出差異權限不包含在已申請的權限中,再去判斷差異權限是否包含在預設權限中,如果包含在預設權限中則表明應用程序的開發(fā)人員忘記將該差異權限添加在申請權限中,則不需要刪除差異權限,如果不包含在預設權限中,則表明應用程序獲得的該差異權限并不是應用程序所需要的權限,應用程序的權限出現(xiàn)了異常,如果應用程序繼續(xù)獲得差異權限可能會導致篡改應用程序,使用者的隱私信息泄露的安全問題。這時就可以將差異權限從應用程序已獲得的權限中刪除,減少應用程序已獲得的權限。
具體的,以應用程序為具有修圖功能的C應用程序,與C應用程序?qū)念A設權限包括“允許應用程序使用照相機的權限”和“允許應用程序設置桌面壁紙的權限”為例。確定差異權限不包含在已申請的權限中時,獲得與C應用程序?qū)念A設程序,如果差異權限為“允許應用程序使用照相機的權限”,則確定差異權限包含在與C應用程序?qū)念A設程序中,不需要刪除該權限,如果差異權限為“允許一個應用程序通過訪問GPS等方式獲取較精確的本地位置的權限”,則確定差異權限不包含在與C應用程序?qū)念A設程序中,刪除C應用程序獲得的差異權限。
基于上述技術方案,請參考圖2,本發(fā)明還提供一種權限檢測的電子設備,包括:
確定單元201,用于確定應用程序已申請的權限和當前獲得的權限;
獲得單元202,用于基于所述申請的權限和所述當前獲得的權限獲得差異信息;
處理單元203,用于基于所述差異信息對所述當前獲得的權限進行處理。
可選的,所述確定單元201用于:
確定所述電子設備的第一權限,其中所述第一權限為所述電子設備提供的權限;
判斷應用程序是否能運行與所述第一權限對應的功能;
若為是,則確定所述第一權限為所述應用程序當前獲得的權限。
可選的,所述處理單元203用于:
基于所述差異信息增加所述當前獲得的權限或減少所述當前獲得的權限。
可選的,所述處理單元203用于:
基于所述差異信息獲得差異權限,其中,所述差異權限為與所述差異信息對應的權限;
判斷所述差異權限是否包含在所述已申請的權限中;
若為是,將所述差異權限分配給所述應用程序,使得所述差異權限添加到所述當前獲得的權限中。
可選的,所述判斷所述差異權限是否包含在所述已申請的權限中之后,所述處理單元203用于:
若為否,刪除所述差異權限,使得所述當前獲得的權限減少。
本發(fā)明實施例提供的權限檢測的方法及電子設備,確定應用程序已申請的權限和當前獲得的權限,將已申請的權限和當前獲得的權限進行對比確定差異信息,并根據(jù)差異信息對當前獲得的權限進行處理。減少了檢測應用程序的權限是否異常時電子設備的能耗。
以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件?;谶@樣的理解,上述技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。
最后應說明的是:以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質(zhì)脫離本發(fā)明各實施例技術方案的精神和范圍。