Android基礎——適配安卓6.0新許可權系統

來源:互聯網
上載者:User

標籤:targe   請求   為什麼   cxf   src   and   gravity   出現   人性化   

在安卓6.0版本以後,新的許可權系統出現了,為了更好的保護使用者的安全,新的許可權系統需要開發人員在代碼中手動申請,所以為了適配6.0許可權系統,我們不得不學習許可權系統

安卓6.0新許可權系統分類有兩種

  1. 普通許可權(normal):這個權限類別型並不直接威脅到使用者的隱私,可以直接在manifest清單裡註冊,系統會幫我們預設授權的
  2. 危險許可權 (dangerous):這個可以直接給app訪問使用者一些敏感的資料,不僅需要在manifest清單裡註冊,同時在使用的時候,需要向系統請求授權

危險許可權的特點

  • 危險許可權是按組分配的,只要同個組的某個許可權被同意後,組中的其他許可權也會被預設同意

普通許可權列表圖

危險許可權分組圖

申請許可權很人性化,類似我們的簽證辦手續一樣,其申請步驟有

  1. 申明該許可權
  2. 檢查是否已經有該許可權
  3. 如果沒有則進行申請許可權
  4. 接收申請成功或者失敗回調

① 要使用許可權時,別忘了要在manifest中申請

② 申請單一許可權

③ 申請多個許可權

如要你要同時申請多個許可權,那麼可以在requestPermissions傳進要申請的許可權即可

④ 判斷安卓6.0系統

為了代碼的嚴謹性,在安卓6.0以下我們就不用手動申請了,這裡就需要判斷一下安卓的版本

很多時候使用者不小心點擊拒絕,或者害怕手機資訊被盜而點拒絕,當第二次進入程式時,summary我們要進行相對應的處理,這裡先看下面這個方法的說明

  • shouldShowRequestPermissionRationale()

    1. 第一次請求許可權時,使用者拒絕了,調用shouldShowRequestPermissionRationale()後返回true,應該顯示一些為什麼需要這個許可權的說明
    2. 使用者在第一次拒絕某個許可權後,下次再次申請時,授權的dialog中將會出現“不再提醒”選項,一旦選中勾選了,那麼下次申請將不會提示使用者
    3. 第二次請求許可權時,使用者拒絕了,並選擇了“不在提醒”的選項,調用shouldShowRequestPermissionRationale()後返回false

知道了這個方法的原理後,那麼代碼就很快就可以寫出來了,下面就直接貼上完整代碼

實現

Android基礎——適配安卓6.0新許可權系統

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.