1. 程式人生 > >DISABLE_KEYGUARD許可權,關於Android許可權(有copy部分,請理解)

DISABLE_KEYGUARD許可權,關於Android許可權(有copy部分,請理解)

1、背景

這次公司提交的新版本,menifest新增加了DISABLE_KEYGUARD,這個許可權,允許程式禁用鍵盤鎖

 

2、Google Play提交的時候,對新增加對許可權,有了要求

要求說明一下這個許可權的用途

 

3、是時候全面瞭解Android的許可權體系了,我是坑自己

 

a、許可權背景

從 Android 6.0(API 23)開始,使用者開始在應用執行時向其授予許可權,而不是在應用安裝時授予。這種許可權機制可以讓使用者更好的管理應用的許可權,保障使用者隱私。

在API22及以前,就是5.1及以前版本,都是安裝時,要求使用者授權,而從6.0開始,在App執行時要求其授予許可權

 

b、許可權分類

系統許可權分為兩類:

  • 正常許可權不會直接給使用者隱私權帶來風險。如果您的應用在其清單中列出了正常許可權,系統將自動授予該許可權。
  • 危險許可權會授予應用訪問使用者機密資料的許可權。如果您列出了危險許可權,則使用者必須明確批准您的應用使用這些許可權。

下方就是危險許可權,而同類型的許可權,Android還給分了Group,可見老外真的好會總結

 

c、一些注意事項

  1. 在 Android 5.1(API 22)或更低版本,並且應用的 targetSdkVersion 是 22 或更低版本,則系統會在安裝時要求使用者授予許可權。(沿用之前的許可權系統)
  2. 即使在安裝時已經授予應用所有許可權,在Android 6.0之後依然可以通過 "Setting" 來關閉已經授予的許可權。
  3. 在請求許可權時,作業系統只告訴使用者應用需要的許可權組,而不告知具體許可權,這點牛了
  4. 如果在未檢查授權的情況下,直接使用危險許可權,會導致程式Crash,這個恨了
  5. 使用 v4 包中的 ContextCompat 處理許可權(v13 包中的FragmentCompat),不需要考慮版本問題。

 

4、這是關於許可權的實現方式,這哥們總結的挺好的

a、我簡單總結一下,首先使用功能前,檢查是否獲得危險許可權

b、沒有就去向使用者申請

c、使用者不給,就再彈一個自定義對話方塊解釋一下

e、menifest裡面和原來設定的一樣

https://www.jianshu.com/p/d6b3e16cc1d9