Android 6 0執行時許可權管理

2021-08-07 02:51:23 字數 2395 閱讀 6017

執行時許可權管理 定義:

但是android 6.0以後android m把許可權管理做了加強處理,除了需要在manifest申明,在使用到相關功能時,有些許可權還需重新授權方可使用,所以就把這些需要重新授權方可使用的許可權稱之為執行時許可權(dangerous permission)。而在manifest裡申請後,可直接使用的許可權為普通許可權(normal permissions

需要使用執行時許可權的條件:

裝置執行的是 android 6.0(api 級別 23),並且應用的targetsdkversion是 23 或更高版本,就會使用執行時許可權規則

normal permissions :

dangerous permission:

group:android.permission-group.phone

group:android.permission-group.calendar

group:android.permission-group.camera

group:android.permission-group.sensors

group:android.permission-group.location

group:android.permission-group.storage

group:android.permission-group.microphone

group:android.permission-group.sms

總結:分組對許可權機制的影響

許可權列表

android 許可權列表,可參照以下資料參考一,參考二,參考三

申請執行許可權步驟:

android:name="android.permission.call_phone"/>
private

boolean

ismarshmallow()

string permission = manifest.permission.call_phone;

if (contextcompat.checkselfpermission(this, permission) != packagemanager.permission_granted) else

contextcompat.checkselfpermission,主要用於檢測某個許可權是否已經被授予,方法返回值為packagemanager.permission_denied或者packagemanager.permission_granted(代表此許可權已允許)。

string permission = manifest.permission.call_phone;

int requestcode = 1;

if (contextcompat.checkselfpermission(this, permission) != packagemanager.permission_granted) , requestcode);

} else

另外,在申請許可權的時候,還需要注意乙個函式:

if (activitycompat.shouldshowrequestpermissionrationale(this, permission))  else , requestcode);

}

shouldshowrequestpermissionrationale

如果應用之前請求過此許可權但使用者拒絕了請求,此方法將返回 true。

如果使用者在過去拒絕了許可權請求,並在許可權請求系統對話方塊中選擇了 don』t ask again 選項,此方法將返回 false

@override

public

void

onrequestpermissionsresult(int requestcode, string permissions, int grantresults) else

return;

}super.onrequestpermissionsresult(requestcode, permissions, grantresults);

}

總結:網上也有很多已經封裝好的關於申請許可權的,可以參照以下**內容

android 6 0 執行時許可權

1.執行時許可權 android6.0版本以前也就是android sdk版本小於23 android6.0和以上的版本 2.許可權的分類 普通許可權就是不會直接給使用者隱私權帶來風險。如果您的應用在其清單中列出了正常許可權,系統將自動授予該許可權。access location extra com...

Android 6 0 執行時許可權處理

android 6.0在我們原有的androidmanifest.xml宣告許可權的基礎上,又新增了執行時許可權動態檢測,以下許可權都需要在執行時判斷 身體感測器日曆攝像頭通訊錄地理位置麥克風 簡訊儲存空間 android 6.0在我們原有的androidmanifest.xml宣告許可權的基礎上,...

Android 6 0改動之執行時許可權

android6.0給我們帶來了新的特性和功能,同時也有值得開發者注意的地方 這些改動包括了系統和 api上面。本篇文件有幾個關鍵點的改動需要我們注意。第一,執行時許可權。android6.0 版本接受了新的許可權模型,這個使得使用者現在可以直接在 執行過程中管理 的某些許可權。例如授予和撤銷某個許...