android6.0給我們帶來了新的特性和功能,同時也有值得開發者注意的地方 。這些改動包括了系統和
api上面。本篇文件有幾個關鍵點的改動需要我們注意。
第一,執行時許可權。android6.0
版本接受了新的許可權模型,這個使得使用者現在可以直接在
執行過程中管理
的某些許可權。例如授予和撤銷某個許可權。
執行在android6.0
以上時,你需要對你的
執行期間所需許可權進行檢查,防止
的crash
。其中檢查某一許可權是否被授予可以呼叫
int checkselfpermission (string permission)
返回結果
permission_granted
或者permission_denied
;請求某一許可權可以呼叫
void requestpermissions (string permissions, int requestcode)
,隨後你必須重寫這個在
void onrequestpermissionsresult (int requestcode, string permissions, int grantresults)
方法裡接受結果,來判斷使用者是否授予了你的許可權。以便控制後續
的邏輯。
在android6.0
上在涉及到許可權問題時,必須檢查許可權,請求許可權。做個例子說明。分
a,b兩部分。
a.宣告許可權,就是我們平常在manifest中定義的一些許可權。在這些許可權中,有不同的敏感程度,有些許可權是系統必須的這些就好自動授予,有些許可權就必須使用者手動授予了。例如你開啟裝置的閃光燈這個許可權是自動授予的,但是你讀取使用者的聯絡人時系統就會詢問使用者
是否同意該許可權使用。總而言之,當你在manifest
中已經定義好了一些
使用索要用到的許可權時,當
執行過程中如果正在使用的功能需要到的許可權是不涉及到使用者隱私的話,那麼這些許可權會被系統自動授予,其他情況都會出現系統告知使用者。
b.使用過程中檢查許可權和動態請求許可權,使用者在使用
的過程中可以對某一許可權同意而對某一許可權拒絕,這樣使用者就會充分控制
的功能。更甚至可以在
settings
中直接操作該
的某乙個許可權。例如乙個功能要對日曆進行寫操作,這個操作就需要進行許可權檢查,
int permissioncheck = contextcompat.checkselfpermission(thisactivity,
manifest.permission.write_calendar);
如果返回 packagemanager.permission_granted這可以直接後續進行寫日曆操作。
如果返回 packagemanager.permission_denied
則需要許可權請求了。
需要該許可權,在解釋的時候我們不要期望通過解釋來強迫使用者授予該許可權,許可權的說明要簡潔明瞭。
具體如下,請求
if (contextcompat.checkselfpermission(thisactivity,
manifest.permission.read_contacts)
!= packagemanager.permission_granted) else ,
my_permissions_request_read_contacts);
// my_permissions_request_read_contacts is an
// result of the request. }
} 請求應答
@override public void onrequestpermissionsresult(int requestcode, string permissions, int grantresults) else
return;
}
// other 'case' lines to check for other
} }
如果使用者的應答是拒絕,我們應該告訴使用者。
android 6 0 執行時許可權
1.執行時許可權 android6.0版本以前也就是android sdk版本小於23 android6.0和以上的版本 2.許可權的分類 普通許可權就是不會直接給使用者隱私權帶來風險。如果您的應用在其清單中列出了正常許可權,系統將自動授予該許可權。access location extra com...
Android 6 0執行時許可權管理
執行時許可權管理 定義 但是android 6.0以後android m把許可權管理做了加強處理,除了需要在manifest申明,在使用到相關功能時,有些許可權還需重新授權方可使用,所以就把這些需要重新授權方可使用的許可權稱之為執行時許可權 dangerous permission 而在manife...
Android 6 0 執行時許可權處理
android 6.0在我們原有的androidmanifest.xml宣告許可權的基礎上,又新增了執行時許可權動態檢測,以下許可權都需要在執行時判斷 身體感測器日曆攝像頭通訊錄地理位置麥克風 簡訊儲存空間 android 6.0在我們原有的androidmanifest.xml宣告許可權的基礎上,...