判断版本号,如果是6.0以上,在代码中加入需要的权限,可以为多个权限,也可以为一个权限
if(Build.VERSION.SDK_INT >= 23){
requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.READ_PHONE_STATE},REQUEST_CONTACTS);
}
重写方法,判断如果没有加上权限的操作,或加入权限的操作
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode==REQUEST_CONTACTS){
if (PermissionUtil.verifyPermissions(grantResults)) {
}
}
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
权限的util
package com.yjkj.sandihuabing;
import android.content.pm.PackageManager;
/**
* Created by yunjia on 2016/12/21.
*/
public abstract class PermissionUtil {
public static boolean verifyPermissions(int[] grantResults) {
// At least one result must be checked.
if(grantResults.length < 1){
return false;
}
// Verify that each required permission has been granted, otherwise return false.
for (int result : grantResults) {
if (result != PackageManager.PERMISSION_GRANTED) {
return false;
}
}
return true;
}
}