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