1nsCheckPanelView 對(duì)象并顯不;以及
[0049]步驟S27,用戶對(duì)View對(duì)象做權(quán)限選擇操作。
[0050]若允許此操作,則選擇相應(yīng)的應(yīng)用操作或者直接結(jié)束。
[0051]其中,所述步驟26中所述Permiss1nsCheckPanelView對(duì)象即表示權(quán)限申請(qǐng)?zhí)崾究颉?br>[0052]以及所述步驟S27中用戶對(duì)View對(duì)象做權(quán)限選擇操作,即Permi ss 1nsCheckPane IView 對(duì)象已實(shí)現(xiàn) OnItemClickLi stener 和 OnTouchListener 接 P,以響應(yīng)用戶的選擇操作。
[0053]具體的實(shí)施過程如下:
[0054]安卓設(shè)備構(gòu)造狀態(tài)欄PhoneStatusBar時(shí),實(shí)例化一個(gè)自定義的View對(duì)象Permiss1nsCheckPanelView,該對(duì)象代表著權(quán)限申請(qǐng)?zhí)崾究?。同時(shí)該View對(duì)象又是CheckPermiss1nCallback 類的一個(gè)成員變量。
[0055]通過1nCal IbackAddRequest 接口類將 AppOpsService 和CheckPermiss1nCallback連接起來,兩者之間通過binder進(jìn)行通信。當(dāng)有權(quán)限請(qǐng)求操作時(shí),AppOpsService 的 askOperat1nLocked 方法被調(diào)用,在 askOperat1nLocked 方法中調(diào)用1nCalIbackAddRequest接口中的onAddRequest方法,進(jìn)而通過binder通信調(diào)用 CheckPermiss1nCallback 中的該 onAddRequest 方法,CheckPermiss1nCallback 對(duì)該 onAddRequest 方法做了實(shí)現(xiàn),實(shí)現(xiàn)即為發(fā)送消息 MSG_CTRLALL_PERMISS1N_CHECK_PANEL,在該消息的處理中構(gòu)造一個(gè)Permiss1nsCheckPanelView對(duì)象并顯示出來。該P(yáng)ermiss1nsCheckPanelView 對(duì)象代表著權(quán)限申請(qǐng)?zhí)岵豢颉ermiss1nsCheckPanelView對(duì)象已實(shí)現(xiàn)OnItemClickListener和OnTouchListener接口,可以響應(yīng)用戶的選擇操作。
[0056]實(shí)施例2
[0057]如圖3所示,在實(shí)施例1基礎(chǔ)上,本發(fā)明還提供了一種安卓應(yīng)用權(quán)限管理系統(tǒng),包括:
[0058]授權(quán)狀態(tài)變更監(jiān)聽單元,實(shí)時(shí)主動(dòng)監(jiān)聽響應(yīng)授權(quán)狀態(tài)變更;以及與授權(quán)狀態(tài)變更監(jiān)聽單元相連的提示View菜單彈出選擇單元,所述提示View菜單彈出選擇單元適于根據(jù)監(jiān)聽到的變更信息作出反應(yīng),即所有的權(quán)限請(qǐng)求提示View都以List的形式通過狀態(tài)欄彈出,以供用戶選擇操作。
[0059]所述安卓應(yīng)用權(quán)限管理系統(tǒng)還包括:View自定義單元,所述View自定義單元適于在安卓設(shè)備構(gòu)造狀態(tài)欄PhoneStatusBar時(shí),實(shí)例化一個(gè)自定義的View對(duì)象Permiss1nsCheckPanelView,以表示權(quán)限申請(qǐng)?zhí)崾究?,同時(shí)該View對(duì)象還適于作為CheckPermiss1nCalIback 類的一個(gè)成員變量。
[0060]進(jìn)一步,所述實(shí)時(shí)主動(dòng)監(jiān)聽響應(yīng)授權(quán)狀態(tài)變更,即通過1nCalIbackAddRequest接口類將AppOpsService和CheckPermiss1nCalIback連接起來,兩者之間通過binder進(jìn)行通信。
[0061]并且,本實(shí)施例中關(guān)于提示View菜單彈出選擇單元的具體工作步驟在實(shí)施例1中已被詳細(xì)闡述,這里不再贅述。
[0062]本發(fā)明的安卓應(yīng)用權(quán)限管理方法及系統(tǒng)采用自定義的View作為權(quán)限提示信息載體,保證了應(yīng)用運(yùn)行的流暢性,并且將一個(gè)應(yīng)用的多個(gè)權(quán)限申請(qǐng)?zhí)崾痉诺揭粋€(gè)List中顯示,讓用戶可以隨意選擇操作順序。
[0063]以上述依據(jù)本發(fā)明的理想實(shí)施例為啟示,通過上述的說明內(nèi)容,相關(guān)工作人員完全可以在不偏離本項(xiàng)發(fā)明技術(shù)思想的范圍內(nèi),進(jìn)行多樣的變更以及修改。本項(xiàng)發(fā)明的技術(shù)性范圍并不局限于說明書上的內(nèi)容,必須要根據(jù)權(quán)利要求范圍來確定其技術(shù)性范圍。
【主權(quán)項(xiàng)】
1.一種安卓應(yīng)用權(quán)限管理方法,其特征在于,包括: 步驟Si,實(shí)時(shí)主動(dòng)監(jiān)聽響應(yīng)授權(quán)狀態(tài)變更; 步驟S2,根據(jù)監(jiān)聽到的變更信息作出反應(yīng)。2.根據(jù)權(quán)利要求1所述的安卓應(yīng)用權(quán)限管理方法,其特征在于, 所述安卓應(yīng)用權(quán)限管理方法還包括:步驟S0,對(duì)View進(jìn)行自定義,包括:安卓設(shè)備構(gòu)造狀態(tài)欄 PhoneStatusBar 時(shí),實(shí)例化一個(gè)自定義的 View 對(duì)象 Permiss1nsCheckPanelView,以表示權(quán)限申請(qǐng)?zhí)崾究?,同時(shí)該View對(duì)象還適于作為CheckPermiss1nCalIback類的一個(gè)成員變量。3.根據(jù)權(quán)利要求2所述的安卓應(yīng)用權(quán)限管理方法,其特征在于,所述步驟SI中實(shí)時(shí)主動(dòng)監(jiān)聽響應(yīng)授權(quán)狀態(tài)變更的方法包括: 通過 1nCalIbackAddRequest 接口類將 AppOpsService 和 CheckPermiss1nCallback連接起來,兩者之間通過binder進(jìn)行通信。4.根據(jù)權(quán)利要求3所述的安卓應(yīng)用權(quán)限管理方法,其特征在于,所述步驟S2中根據(jù)監(jiān)聽到的變更信息作出反應(yīng)具體包括: 將所有的權(quán)限請(qǐng)求提示View都以List的形式通過狀態(tài)欄彈出,以供用戶選擇操作。5.根據(jù)權(quán)利要求3所述的安卓應(yīng)用權(quán)限管理方法,其特征在于, 所述步驟S2中根據(jù)監(jiān)聽到的變更信息作出反應(yīng)的步驟包括: 步驟S21,第三方應(yīng)用申請(qǐng)操作權(quán)限; 步驟S22,AppOpsService攔截應(yīng)用操作; 步驟S23,onAddRequest方法被調(diào)用; 步驟 S24,通過 binder 調(diào)用 CheckPermiss1nCallback 中的 onAddRequest 方法; 步驟 S25,發(fā)送 MSG_CTRLALL_PERMISS1N_CHECK_PANEL 消息; 步驟S26,在MSG_CTRLALL_PERMISS1N_CHECK_PANEL消息的處理中,構(gòu)造自定義的Permiss1nsCheckPanelView 對(duì)象并顯不; 步驟S27,用戶對(duì)View對(duì)象做權(quán)限選擇操作。6.根據(jù)權(quán)利要求5所述的安卓應(yīng)用權(quán)限管理方法,其特征在于,所述步驟26中所述Permiss1nsCheckPanelView對(duì)象即表不權(quán)限申請(qǐng)?zhí)岵豢颉?.根據(jù)權(quán)利要求6所述的安卓應(yīng)用權(quán)限管理方法,其特征在于,所述步驟S27中用戶對(duì)View對(duì)象做權(quán)限選擇操作,即Permiss1nsCheckPanelView對(duì)象已實(shí)現(xiàn)OnItemClickListener 和 OnTouchListener 接口,以響應(yīng)用戶的選擇操作。8.—種安卓應(yīng)用權(quán)限管理系統(tǒng),其特征在于,包括: 授權(quán)狀態(tài)變更監(jiān)聽單元,實(shí)時(shí)主動(dòng)監(jiān)聽響應(yīng)授權(quán)狀態(tài)變更; 與授權(quán)狀態(tài)變更監(jiān)聽單元相連的提示View菜單彈出選擇單元,所述提示View菜單彈出選擇單元適于根據(jù)監(jiān)聽到的變更信息作出反應(yīng)。9.根據(jù)權(quán)利要求8所述的安卓應(yīng)用權(quán)限管理系統(tǒng),其特征在于,所述安卓應(yīng)用權(quán)限管理系統(tǒng)還包括:View自定義單元, 所述View自定義單元適于在安卓設(shè)備構(gòu)造狀態(tài)欄PhoneStatusBar時(shí),實(shí)例化一個(gè)自定義的View對(duì)象Permiss1nsCheckPanelView,以表示權(quán)限申請(qǐng)?zhí)崾究颍瑫r(shí)該View對(duì)象還適于作為CheckPermiss1nCallback類的一個(gè)成員變量。10.根據(jù)權(quán)利要求9所述的安卓應(yīng)用權(quán)限管理系統(tǒng),其特征在于,所述實(shí)時(shí)主動(dòng)監(jiān)聽響應(yīng)授權(quán)狀態(tài)變更,即通過1nCalIbackAddRequest接口類將AppOpsService和CheckPermiss1nCallback連接起來,兩者之間通過binder進(jìn)行通信。
【專利摘要】本發(fā)明公開了一種安卓應(yīng)用權(quán)限管理方法及管理系統(tǒng),本安卓應(yīng)用權(quán)限管理方法包括:步驟S1,實(shí)時(shí)主動(dòng)監(jiān)聽響應(yīng)授權(quán)狀態(tài)變更;步驟S2,根據(jù)監(jiān)聽到的變更信息作出反應(yīng),即所有的權(quán)限請(qǐng)求提示View都以List的形式通過狀態(tài)欄彈出,以供用戶選擇操作;本發(fā)明的安卓應(yīng)用權(quán)限管理方法及管理系統(tǒng)通過自定義的View機(jī)制,保護(hù)了正在運(yùn)行的Activity,即在權(quán)限確認(rèn)時(shí),正在運(yùn)行的Activity不會(huì)發(fā)生中斷,而是保持運(yùn)行,給用戶流暢的感覺。
【IPC分類】G06F21/52
【公開號(hào)】CN105184148
【申請(qǐng)?zhí)枴緾N201510489097
【發(fā)明人】鐘凡
【申請(qǐng)人】上海斐訊數(shù)據(jù)通信技術(shù)有限公司
【公開日】2015年12月23日
【申請(qǐng)日】2015年8月11日