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");
}
}