一種安卓應(yīng)用權(quán)限管理方法及管理系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種安卓系統(tǒng),尤其涉及一種安卓應(yīng)用權(quán)限管理方法及管理系統(tǒng)。
【背景技術(shù)】
[0002]隨著移動互聯(lián)網(wǎng)的飛速發(fā)展,手機應(yīng)用越來越豐富,在應(yīng)用安裝運行的同時,它們就擁有了一些搜集手機數(shù)據(jù)的權(quán)限,在豐富我們生活的同時個人的隱私也隨之有可能遭到泄露,在我們不覺察中,大量的應(yīng)用在抓取著我們在互聯(lián)網(wǎng)上的消費信息和消費習(xí)慣,那如何避免個人的過多信息遭到泄露呢?安卓系統(tǒng)從4.4開始引入了權(quán)限管理機制。
[0003]所謂權(quán)限管理,就是能夠手動配置某個App的權(quán)限,進而阻止惡意軟件以及防止隱私泄漏。當然,更進一步的權(quán)限管理,是能夠在App動態(tài)使用某個權(quán)限的時候,提供一種通知機制提示用戶允許和拒絕。這樣的權(quán)限管理就更加類似于Windows中的主動防御。
[0004]如阿里云OS采用的是AlertDialog機制提示用戶運行和拒絕,市面的安卓機器都是采用安卓原生的彈框提示機制通知用戶。
[0005]現(xiàn)有的權(quán)限提示采用AlertDialog機制,這種機制過于呆板,不夠靈活,它會打斷當前正在運行Activity,用戶必須實時作出選擇,所以在Activity重新恢復(fù)的時候,需要重新加載最新授權(quán)狀態(tài)值。如果不實時做選擇默認為忽略,此時要等待好幾秒鐘該對話框才能消失,應(yīng)用運行不夠流暢。如果某一個應(yīng)用的申請權(quán)限過多,用戶要對這所有申請的權(quán)限做選擇,導(dǎo)致用戶過長時間的做選擇操作,容易引起用戶煩躁心理。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的是提供一種安卓應(yīng)用權(quán)限管理方法及管理系統(tǒng),以解決傳統(tǒng)的AlertDialog機制會打斷當前正在運行Activity,使用戶必須實時作出選擇,進而給用戶操作帶來不便的技術(shù)問題。
[0007]為了解決上述技術(shù)問題,本發(fā)明提供了一種安卓應(yīng)用權(quán)限管理方法,包括:
[0008]步驟SI,實時主動監(jiān)聽響應(yīng)授權(quán)狀態(tài)變更;
[0009]步驟S2,根據(jù)監(jiān)聽到的變更信息作出反應(yīng)。
[0010]進一步,所述安卓應(yīng)用權(quán)限管理方法還包括:步驟S0,對View進行自定義,即安卓設(shè)備構(gòu)造狀態(tài)欄PhoneStatusBar時,實例化一個自定義的View對象Permiss1nsCheckPanelView,以表示權(quán)限申請?zhí)崾究?,同時該View對象還適于作為CheckPermiss1nCalIback 類的一個成員變量。
[0011]進一步,所述步驟SI中實時主動監(jiān)聽響應(yīng)授權(quán)狀態(tài)變更的方法包括:
[0012]通過1nCal IbackAddRequest 接口類將 AppOpsService 和CheckPermiss1nCalIback連接起來,兩者之間通過binder進行通信。
[0013]進一步,所述步驟S2中根據(jù)監(jiān)聽到的變更信息作出反應(yīng)的步驟包括:
[0014]步驟S21,第三方應(yīng)用申請操作權(quán)限;
[0015]步驟S22,AppOpsService攔截應(yīng)用操作;
[0016]步驟S23,onAddRequest 方法被調(diào)用;
[0017]步驟S24,通過 binder 調(diào)用 CheckPermiss1nCallback 中的 onAddRequest 方法;
[0018]步驟S25,發(fā)送 MSG_CTRLALL_PERMISS1N_CHECK_PANEL 消息;
[0019]步驟S26,在 MSG_CTRLALL_PERMISS1N_CHECK_PANEL 消息的處理中,構(gòu)造自定義的 Permiss1nsCheckPanelView 對象并顯不;
[0020]步驟S27,用戶對View對象做權(quán)限選擇操作。
[0021 ] 進一步,所述步驟26中所述Permiss1nsCheckPaneIView對象即表示權(quán)限申請?zhí)崾究颉?br>[0022]進一步,所述步驟S27中用戶對View對象做權(quán)限選擇操作,即Permi ss 1nsCheckPane IView 對象已實現(xiàn) OnItemClickLi stener 和 OnTouchListener 接 P,以響應(yīng)用戶的選擇操作。
[0023]又一方面,本發(fā)明還提供了一種安卓應(yīng)用權(quán)限管理系統(tǒng),包括:
[0024]授權(quán)狀態(tài)變更監(jiān)聽單元,實時主動監(jiān)聽響應(yīng)授權(quán)狀態(tài)變更;
[0025]與授權(quán)狀態(tài)變更監(jiān)聽單元相連的提示View菜單彈出選擇單元,所述提示View菜單彈出選擇單元適于根據(jù)監(jiān)聽到的變更信息作出反應(yīng)。
[0026]進一步,所述安卓應(yīng)用權(quán)限管理系統(tǒng)還包括:View自定義單元,所述View自定義單元適于在安卓設(shè)備構(gòu)造狀態(tài)欄PhoneStatusBar時,實例化一個自定義的View對象Permiss1nsCheckPanelView,以表示權(quán)限申請?zhí)崾究?,同時該View對象還適于作為CheckPermiss1nCallback 類的一個成員變量。
[0027]進一步,所述實時主動監(jiān)聽響應(yīng)授權(quán)狀態(tài)變更,即通過1nCalIbackAddRequest接口類將AppOpsService和CheckPermiss1nCallback連接起來,兩者之間通過binder進行通信。
[0028]本發(fā)明的有益效果是,本發(fā)明的安卓應(yīng)用權(quán)限管理方法及管理系統(tǒng)通過自定義的View機制,保護了正在運行的Activity,即在權(quán)限確認時,正在運行的Activity不會發(fā)生中斷,而是保持運行。給用戶流暢的感覺。
【附圖說明】
[0029]下面結(jié)合附圖和實施例對本發(fā)明進一步說明。
[0030]圖1是本發(fā)明的安卓應(yīng)用權(quán)限管理方法的流程圖;
[0031]圖2是本發(fā)明的所述步驟S2中根據(jù)監(jiān)聽到的變更信息作出反應(yīng)的流程圖;
[0032]圖3是本發(fā)明的安卓應(yīng)用權(quán)限管理的原理框圖。
【具體實施方式】
[0033]現(xiàn)在結(jié)合附圖對本發(fā)明作進一步詳細的說明。這些附圖均為簡化的示意圖,僅以示意方式說明本發(fā)明的基本結(jié)構(gòu),因此其僅顯示與本發(fā)明有關(guān)的構(gòu)成。
[0034]本發(fā)明的安卓應(yīng)用權(quán)限管理及系統(tǒng)使用自定義View機制,完美的保護了正在運行的Activity,即在權(quán)限確認時,正在運行的Activity不會發(fā)生中斷,而是保持運行,只需要實時主動監(jiān)聽響應(yīng)授權(quán)狀態(tài)變更,且根據(jù)監(jiān)聽到的變更信息作出反應(yīng),所有的權(quán)限請求提示View都會以List的形式通過狀態(tài)欄彈出,能讓用戶一覽無余,用戶可以隨心選擇對哪個請求操作作出回應(yīng),而不是例如原生狀態(tài)那種機械化地按順序操作。
[0035]實施例1
[0036]如圖1所示,本發(fā)明提供了一種安卓應(yīng)用權(quán)限管理方法,包括:
[0037]步驟SI,實時主動監(jiān)聽響應(yīng)授權(quán)狀態(tài)變更;
[0038]步驟S2,根據(jù)監(jiān)聽到的變更信息作出反應(yīng),即所有的權(quán)限請求提示View都以List的形式通過狀態(tài)欄彈出,以供用戶選擇操作。
[0039]并且,所述安卓應(yīng)用權(quán)限管理方法還包括:步驟S0,對View進行自定義,即安卓設(shè)備構(gòu)造狀態(tài)欄PhoneStatusBar時,實例化一個自定義的View對象Permiss1nsCheckPanelView,以表示權(quán)限申請?zhí)崾究?,同時該View對象還適于作為CheckPermiss1nCallback 類的一個成員變量。
[0040]優(yōu)選的,所述步驟SI中實時主動監(jiān)聽響應(yīng)授權(quán)狀態(tài)變更的方法包括:
[0041 ]通過 1nCal IbackAddRequest 接口類將 AppOpsService 和CheckPermiss1nCallback連接起來,兩者之間通過binder進行通信。
[0042]進一步,如圖2所示,所述步驟S2中根據(jù)監(jiān)聽到的變更信息作出反應(yīng)的步驟包括:
[0043]步驟S21,第三方應(yīng)用申請操作權(quán)限;
[0044]步驟S22,AppOpsService攔截應(yīng)用操作;
[0045]步驟S23,onAddRequest 方法被調(diào)用;
[0046]步驟S24,通過 binder 調(diào)用 CheckPermiss1nCallback 中的 onAddRequest 方法;
[0047]步驟S25,發(fā)送 MSG_CTRLALL_PERMISS1N_CHECK_PANEL 消息;
[0048]步驟S26,在 MSG_CTRLALL_PERMISS10N_CHECK_PANEL 消息的處理中,構(gòu)造自定義的 Permiss