//判断是否具有权限请求权限的操作:
@Override
public void onRequestPermissionsResult(int requestCode,
String[] permissions,
int[] grantResults) {
//如果请求码与定义的相同,这里的PER_REQ_CODE是自己定义的一个数字,可以自己任意定义
if (requestCode==PER_REQ_CODE){
if (grantResults!=null&&grantResults.length>0){
if (grantResults[0]==PackageManager.PERMISSION_GRANTED){
readInfor();
}else {
Toast.makeText(ContantsActivity.this,"没有权限",Toast.LENGTH_SHORT).show();
}
}
}
}
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.M){
//判断有没有权限
int flag = ActivityCompat.checkSelfPermission(
ContantsActivity.this,
android.Manifest.permission.READ_CONTACTS);
if (flag!= PackageManager.PERMISSION_GRANTED){//没有权限
//请求权限
ActivityCompat.requestPermissions(
ContantsActivity.this,//上下文
new String[]{android.Manifest.permission.READ_CONTACTS},//请求哪些权限
PER_REQ_CODE//请求码
);
}else {
执行拥有权限后的操作
}
}else {
执行拥有权限后的操作
}
}
原文:http://www.cnblogs.com/zhangdiIT/p/5830054.html