Android6.0普通權限normal permission 和 危險權限dangerous permission?
Normal?Permission:寫在xml文件里秉撇,那么App安裝時就會默認獲得這些權限,即使是在Android6.0系統(tǒng)的手機上惩猫,用戶也無法在安裝后動態(tài)取消這些normal權限,這和以前的權限系統(tǒng)是一樣的侣诵,不變贮庞。
Dangerous?Permission:還是得寫在xml文件里,但是App安裝時具體如果執(zhí)行授權分以下幾種情況:
1筝蚕、targetSDKVersion?<?23?&?API(手機系統(tǒng))?<?6.0?:安裝時默認獲得權限,且用戶無法在安裝App之后取消權限。
3起宽、targetSDKVersion?<?23?&?API(手機系統(tǒng))?>=?6.0?:安裝時默認獲得權限洲胖,但是用戶可以在安裝App完成后動態(tài)取消授權(?取消時手機會彈出提醒,告訴用戶這個是為舊版手機打造的應用坯沪,讓用戶謹慎操作?)绿映。
2、targetSDKVersion?>=?23?&?API(手機系統(tǒng))?<?6.0?:安裝時默認獲得權限腐晾,且用戶無法在安裝App之后取消權限叉弦。
4、targetSDKVersion?>=?23?&?API(手機系統(tǒng))?>=?6.0?:安裝時不會獲得權限藻糖,可以在運行時向用戶申請權限卸奉。用戶授權以后仍然可以在設置界面中取消授權,用戶主動在設置界面取消后颖御,在app運行過程中可能會出現(xiàn)crash。
特殊情況
targetSDKVersion?<?23?&?API(手機系統(tǒng))?>=?6.0 申請 android.permission.READ_CONTACTS凝颇,安裝時默認獲得權限潘拱。修改targetSDKVersion為23重新安裝,依舊擁有該權限拧略。
https://blog.csdn.net/u010263943/article/details/71467877
申請未授權的單個權限芦岂,彈框提示用戶:
禁止
onRequestPermissionsResult觸發(fā),再次請求該權限會再次彈框提示用戶
禁止+不再提示
onRequestPermissionsResult觸發(fā)垫蛆,再次請求該權限不會彈框提示用戶禽最,直接觸發(fā)onRequestPermissionsResult
允許
onRequestPermissionsResult觸發(fā),再次請求該權限不會彈框提示用戶袱饭,直接觸發(fā)onRequestPermissionsResult
申請未授權的多個權限:
依次彈框川无,用戶處理完成后統(tǒng)一返回onRequestPermissionsResult。如果多個權限中存在不再提示的權限虑乖,該權限不會再次提示詢問用戶懦趋。
shouldShowRequestPermissionRationale
用戶之前拒絕權限且未勾選不再提示返回true,其他返回false
判斷用戶是否勾選不再提示疹味,onRequestPermissionsResult返回 -1 + shouldShowRequestPermissionRationale返回 false
checkSelfPermission
檢查是否獲取指定權限