国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種Android系統(tǒng)權(quán)限管理方法與流程

      文檔序號(hào):11627796閱讀:717來(lái)源:國(guó)知局
      一種Android系統(tǒng)權(quán)限管理方法與流程

      本發(fā)明屬于移動(dòng)終端android系統(tǒng)技術(shù)領(lǐng)域,尤其涉及一種android系統(tǒng)權(quán)限管理方法。



      背景技術(shù):

      android系統(tǒng)permission機(jī)制的大部分功能都有android系統(tǒng)代碼完成,在系統(tǒng)安全得到保證的前提下,訪問(wèn)者與資源間的訪問(wèn)控制是可以得到保證的。但是粗粒度的權(quán)限訪問(wèn)控制能力管理,使得permission機(jī)制存在一系列的安全問(wèn)題。由于不顯示授權(quán)界面、權(quán)限描述不清和粗粒度的用戶訪問(wèn)控制能力管理引發(fā)用戶permission確認(rèn)過(guò)程中的安全隱患,導(dǎo)致應(yīng)用程序過(guò)度申請(qǐng)權(quán)限、濫用權(quán)限和系統(tǒng)權(quán)限管理難度增加。

      綜上所述,現(xiàn)有技術(shù)存在的問(wèn)題是:由于不顯示授權(quán)界面、權(quán)限描述不清和粗粒度的用戶訪問(wèn)控制能力管理引發(fā)用戶permission確認(rèn)過(guò)程中的安全隱患,以及permission傳遞機(jī)制管理的漏洞為攻擊者提供了合謀攻擊的途徑?,F(xiàn)有技術(shù)提供一站式服務(wù),相當(dāng)于應(yīng)用程序安裝時(shí),接受應(yīng)用程序所申請(qǐng)的所有權(quán)限,否則,不能安裝該應(yīng)用程序。這種一站式服務(wù)沒(méi)有提供后期的權(quán)限維護(hù)和修改、申請(qǐng)功能,而權(quán)限管理功能封裝在框架層,對(duì)于開(kāi)發(fā)者而言,必須深入android系統(tǒng)的開(kāi)發(fā),對(duì)其做相應(yīng)的修改。



      技術(shù)實(shí)現(xiàn)要素:

      針對(duì)現(xiàn)有技術(shù)存在的問(wèn)題,本發(fā)明提供了一種android系統(tǒng)權(quán)限管理方法。

      本發(fā)明是這樣實(shí)現(xiàn)的,一種android系統(tǒng)權(quán)限管理方法,所述android系統(tǒng)權(quán)限管理方法包括以下步驟:

      應(yīng)用程序訪問(wèn)權(quán)限api,進(jìn)行權(quán)限檢查;

      應(yīng)用程序權(quán)限不存在時(shí)進(jìn)入權(quán)限申請(qǐng);

      應(yīng)用程序權(quán)限存在,android系統(tǒng)權(quán)限管理數(shù)據(jù)查詢(xún)應(yīng)用程序?qū)?yīng)的應(yīng)用進(jìn)程權(quán)限;

      根據(jù)應(yīng)用進(jìn)程權(quán)限的查詢(xún)結(jié)果,執(zhí)行相應(yīng)操作。

      進(jìn)一步,應(yīng)用程序根據(jù)訪問(wèn)api所需的權(quán)限調(diào)用checkselfpermission()方法,檢測(cè)應(yīng)用是否擁有該權(quán)限,當(dāng)應(yīng)用程序擁有該權(quán)限時(shí),進(jìn)入權(quán)限提示模塊,否則進(jìn)入權(quán)限申請(qǐng)模塊。

      進(jìn)一步,權(quán)限申請(qǐng)?jiān)诔绦蛑袑?duì)權(quán)限進(jìn)行動(dòng)態(tài)的申請(qǐng)。

      進(jìn)一步,應(yīng)用進(jìn)程權(quán)限包括允許、提示和拒絕。

      進(jìn)一步,當(dāng)應(yīng)用程序?qū)?yīng)權(quán)限為允許時(shí),應(yīng)用程序正常調(diào)用權(quán)限的api;

      當(dāng)應(yīng)用程序?qū)?yīng)權(quán)限為提示時(shí),應(yīng)用程序暫停執(zhí)行,彈出對(duì)話框并接受用戶的選擇,根據(jù)用戶的選擇來(lái)決定是否繼續(xù)執(zhí)行;

      當(dāng)應(yīng)用程序?qū)?yīng)權(quán)限為拒絕時(shí),應(yīng)用程序繼續(xù)執(zhí)行,不能調(diào)用需要權(quán)限的api。

      本發(fā)明的另一目的在于提供一種利用所述android系統(tǒng)權(quán)限管理方法的基于android6.0及以上版本權(quán)限新特性的權(quán)限管理方法,所述基于android6.0及以上版本權(quán)限新特性的權(quán)限管理方法具體步驟包括如下:

      步驟一,權(quán)限檢測(cè):

      程序封裝一個(gè)方法haspermission(),傳入的參數(shù)為權(quán)限名數(shù)組,調(diào)用checkselfpermission(),同時(shí)傳入?yún)?shù)為權(quán)限名數(shù)組,根據(jù)返回值來(lái)檢測(cè)是否擁有權(quán)限;

      步驟二,權(quán)限申請(qǐng):

      程序封裝一個(gè)權(quán)限申請(qǐng)方法requestpermission(),權(quán)限申請(qǐng)方法的參數(shù)為申請(qǐng)碼和權(quán)限名數(shù)組在方法中調(diào)用requestpermissions(),權(quán)限申請(qǐng)方法參數(shù)為權(quán)限名數(shù)組和context以及申請(qǐng)碼;

      步驟三,請(qǐng)求回調(diào)處理:

      重寫(xiě)一個(gè)方法onrequestpermissionresult(),主要的參數(shù)有申請(qǐng)碼、權(quán)限名數(shù)組,調(diào)用switch結(jié)構(gòu),根據(jù)申請(qǐng)碼進(jìn)行區(qū)分請(qǐng)求。

      本發(fā)明的另一目的在于提供一種應(yīng)用所述android系統(tǒng)權(quán)限管理方法的移動(dòng)終端。

      本發(fā)明的另一目的在于提供一種應(yīng)用所述android系統(tǒng)權(quán)限管理方法的android系統(tǒng)。

      本發(fā)明的優(yōu)點(diǎn)及積極效果為:

      本發(fā)明通過(guò)在程序中增加權(quán)限檢測(cè)、申請(qǐng)和回調(diào)方法,因此結(jié)合了android6.0及以上版本的權(quán)限管理新特性,增量權(quán)限在應(yīng)用層申請(qǐng)的功能,解決了android權(quán)限不能動(dòng)態(tài)申請(qǐng)的問(wèn)題。

      本發(fā)明通過(guò)在權(quán)限管理中增加允許、提示和禁止功能,增加用戶自主控制應(yīng)用程序權(quán)限的能力,解決了android粗粒度的權(quán)限管理問(wèn)題。

      附圖說(shuō)明

      圖1是本發(fā)明實(shí)施例提供的基于android6.0系統(tǒng)權(quán)限管理方法流程圖。

      圖2是本發(fā)明實(shí)施例提供的基于android6.0權(quán)限新特性的權(quán)限管理方法流程圖。

      具體實(shí)施方式

      為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

      本發(fā)明實(shí)施例提供的基于android6.0及以上版本系統(tǒng)權(quán)限管理方法。

      下面結(jié)合附圖對(duì)本發(fā)明的應(yīng)用原理作詳細(xì)的描述。

      如圖1所示,本發(fā)明實(shí)施例基于android6.0提供的系統(tǒng)權(quán)限管理方法包括以下步驟:

      s101:應(yīng)用程序訪問(wèn)需要權(quán)限的api時(shí),程序本身進(jìn)行權(quán)限檢查;

      s102:應(yīng)用程序權(quán)限不存在時(shí)進(jìn)入權(quán)限申請(qǐng)模塊;

      s103:應(yīng)用程序權(quán)限存在時(shí),在android系統(tǒng)的權(quán)限管理數(shù)據(jù)查詢(xún)所述應(yīng)用程序?qū)?yīng)的應(yīng)用進(jìn)程權(quán)限;

      s104:根據(jù)所述應(yīng)用進(jìn)程權(quán)限的查詢(xún)結(jié)果,執(zhí)行相應(yīng)操作。

      下面結(jié)合附圖對(duì)本發(fā)明的應(yīng)用原理作進(jìn)一步的描述。

      本發(fā)明實(shí)施例提供的android系統(tǒng)權(quán)限管理方法包括以下步驟:

      步驟一,當(dāng)應(yīng)用程序訪問(wèn)需要權(quán)限的api時(shí),程序本身進(jìn)行權(quán)限檢查

      應(yīng)用程序根據(jù)訪問(wèn)api所需的權(quán)限調(diào)用checkselfpermission()方法,檢測(cè)應(yīng)用是否擁有該權(quán)限,當(dāng)應(yīng)用程序擁有該權(quán)限時(shí),進(jìn)入權(quán)限提示模塊,否則進(jìn)入權(quán)限申請(qǐng)模塊。

      在本發(fā)明實(shí)施例中,android系統(tǒng)的權(quán)限管理數(shù)據(jù)來(lái)自于/data/system/packages.xml文件中,開(kāi)機(jī)時(shí)直接讀取該文件,加載權(quán)限信息到內(nèi)存。應(yīng)用程序的標(biāo)識(shí)用于區(qū)分應(yīng)用程序,該應(yīng)用程序標(biāo)識(shí)可以是包名。

      需要權(quán)限的數(shù)據(jù)大致分為系統(tǒng)資源和應(yīng)用程序資源。系統(tǒng)資源包括android系統(tǒng)提供的各種服務(wù)、硬件設(shè)備、各種數(shù)據(jù)庫(kù)資源。應(yīng)用程序的資源包括構(gòu)成應(yīng)用程序的四大主鍵。這些資源通過(guò)對(duì)訪問(wèn)者提出能力要求,實(shí)現(xiàn)訪問(wèn)控制。

      步驟二,當(dāng)應(yīng)用程序權(quán)限不存在時(shí)進(jìn)入權(quán)限申請(qǐng)模塊

      在權(quán)限申請(qǐng)模塊主要運(yùn)用android6.0關(guān)于權(quán)限的新特性,在程序中對(duì)權(quán)限進(jìn)行動(dòng)態(tài)的申請(qǐng)。

      步驟三,當(dāng)應(yīng)用程序權(quán)限存在時(shí),在android系統(tǒng)的權(quán)限管理數(shù)據(jù)查詢(xún)所述應(yīng)用程序?qū)?yīng)的應(yīng)用進(jìn)程權(quán)限。

      在本發(fā)明實(shí)例中,應(yīng)用進(jìn)程權(quán)限包括允許、提示和拒絕。

      步驟四,當(dāng)根據(jù)所述應(yīng)用進(jìn)程權(quán)限的查詢(xún)結(jié)果,執(zhí)行相應(yīng)操作。

      當(dāng)應(yīng)用程序?qū)?yīng)權(quán)限為允許時(shí),應(yīng)用程序正常調(diào)用需要該權(quán)限的api;

      當(dāng)應(yīng)用程序?qū)?yīng)權(quán)限為提示時(shí),應(yīng)用程序暫停執(zhí)行,彈出對(duì)話框并接受用戶的選擇,根據(jù)用戶的選擇來(lái)決定是否繼續(xù)執(zhí)行;

      當(dāng)應(yīng)用程序?qū)?yīng)權(quán)限為拒絕時(shí),應(yīng)用程序繼續(xù)執(zhí)行,但不能調(diào)用需要該權(quán)限的api。

      需要說(shuō)明的是,彈出對(duì)話框?yàn)閐ialog對(duì)話框,提示用戶索要讀取的數(shù)據(jù)或者訪問(wèn)的服務(wù),并接受用戶的選擇允許或拒絕。

      如圖2所示,本發(fā)明實(shí)施例提供的基于android6.0權(quán)限新特性的權(quán)限管理方法具體步驟包括如下:

      步驟一,權(quán)限檢測(cè)

      程序封裝一個(gè)方法haspermission(),傳入的參數(shù)為權(quán)限名數(shù)組,在方法中調(diào)用checkselfpermission(),同時(shí)傳入?yún)?shù)為權(quán)限名數(shù)組,根據(jù)方法的返回值來(lái)檢測(cè)是否擁有該權(quán)限。

      步驟二,權(quán)限申請(qǐng)

      程序封裝一個(gè)權(quán)限申請(qǐng)方法requestpermission(),方法的主要參數(shù)為申請(qǐng)碼和權(quán)限名數(shù)組在方法中調(diào)用requestpermissions(),方法的主要參數(shù)為權(quán)限名數(shù)組和context以及申請(qǐng)碼。

      步驟三,請(qǐng)求回調(diào)處理

      重寫(xiě)一個(gè)方法onrequestpermissionresult(),主要的參數(shù)有申請(qǐng)碼、權(quán)限名數(shù)組。調(diào)用switch結(jié)構(gòu),根據(jù)申請(qǐng)碼進(jìn)行區(qū)分請(qǐng)求。

      以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1