DISABLE_KEYGUARD許可權,關於Android許可權(有copy部分,請理解)
阿新 • • 發佈:2018-11-28
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、一些注意事項
- 在 Android 5.1(API 22)或更低版本,並且應用的 targetSdkVersion 是 22 或更低版本,則系統會在安裝時要求使用者授予許可權。(沿用之前的許可權系統)
- 即使在安裝時已經授予應用所有許可權,在Android 6.0之後依然可以通過 "Setting" 來關閉已經授予的許可權。
- 在請求許可權時,作業系統只告訴使用者應用需要的許可權組,而不告知具體許可權,這點牛了
- 如果在未檢查授權的情況下,直接使用危險許可權,會導致程式Crash,這個恨了
- 使用 v4 包中的 ContextCompat 處理許可權(v13 包中的FragmentCompat),不需要考慮版本問題。
4、這是關於許可權的實現方式,這哥們總結的挺好的
a、我簡單總結一下,首先使用功能前,檢查是否獲得危險許可權
b、沒有就去向使用者申請
c、使用者不給,就再彈一個自定義對話方塊解釋一下
e、menifest裡面和原來設定的一樣
https://www.jianshu.com/p/d6b3e16cc1d9