針對android 6.0(API 23)以前的版本,只需要在【AndroidManifedt.xml】裏面添加應用權限,應用安裝完成以後即可正常使用。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
但是,對於android 6.0(API 23)以後的版本,系統允許用戶單獨管理應用的某個權限,可以關閉/打開權限。
比如某個應用需要相機權限,而在此之前用戶已經針對該應用禁用了相機權限,我們在啓動該應用的時候就會出現異常(例如閃退)。
這裏,我們需要在應用啓動以後,第一時間去檢測相關權限問題,比如相機權限:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
//申請WRITE_EXTERNAL_STORAGE權限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA},1);}
以上代碼就是檢測相機權限,如果未或者,則彈窗提示。如果允許則會開啓相關權限,如果拒絕,則退出應用。