android 6.0权限配置

activity继承baseactivity

baseactivity:

public static void requestRuntimePermission(String[] permissions,PermissionListener listener){
    Activity topActivity = ActivityCollector.getTopActivity();
    if (topActivity == null) {
        return;
    }
    mListener = listener;
    List permissionList = new ArrayList<>();
    for (String permission : permissions) {
        if (ContextCompat.checkSelfPermission(topActivity, permission) != PackageManager.PERMISSION_GRANTED) {
            permissionList.add(permission);
        }
    }
    if (!permissionList.isEmpty()) {
        ActivityCompat.requestPermissions(topActivity, permissionList.toArray(new String[permissionList.size()]), 1);
    } else {
        mListener.onGranted();
    }
}

activity

requestRuntimePermission(new String[]{Manifest.permission.CAMERA}, new PermissionListener() {
    @Override
    public void onGranted() {
        initView();
    }

    @Override
    public void onDenied(List deniedPermission) {
        Toast.makeText(FlashActivity.this, "授权失败", Toast.LENGTH_SHORT).show();
        initView();
    }
});

你可能感兴趣的:(android 6.0权限配置)