Android6.0采用新的權限模型,只有在需要權限的時候,才告知用戶是否授權,是在runtime時候授權,而不是在原來安裝的時候 ,同時默認情況下每次在運行時打開頁面時候,需要先檢查是否有所需要的權限申請。這樣的用戶的自主性提高很多,比如用戶可以給APP賦予攝像的權限,但是可以拒絕記錄設備位置的權限,就是怕位置信息上傳等等。
最簡單的方法:讓系統去彈出權限選擇框獲取權限(直接這段代碼就OK)
static final String[] PERMISSION = new String[]{ Manifest.permission.READ_CONTACTS,// 寫入權限 Manifest.permission.READ_EXTERNAL_STORAGE, //讀取權限 Manifest.permission.WRITE_CALL_LOG, //讀取設備信息 }; /** * 設置Android6.0的權限申請 */ private void setPermissions() { if (ContextCompat.checkSelfPermission(SpalshToActivity.this, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) { //Android 6.0申請權限 ActivityCompat.requestPermissions(this,PERMISSION,1); }else{ Log.i(TAG,"權限申請ok"); } }