6.0动态申请权限
2018-01-03 14:14
351 查看
/** * 1.检测系统版本 */ private void checkSystemVersion() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) checkPermissions(); } /** * 待检测权限(6.0需要动态申请的权限) */ private String[] permissions = { Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.READ_PHONE_STATE }; /** * 2.检测权限 */ private void checkPermissions() { List<String> permissionsList = new ArrayList<>(); for (String permission : permissions) { if (ContextCompat.checkSelfPermission(this, permission) != PackageManager.PERMISSION_GRANTED) permissionsList.add(permission); } if (permissionsList.size() > 0) requestPermissions(permissionsList); } /** * 申请权限请求码 */ private int REQUEST_CODE_PERMISSION = 233; /** * 3.申请权限 */ private void requestPermissions(List<String> list) { ActivityCompat.requestPermissions(this, list.toArray(new String[list.size()]), REQUEST_CODE_PERMISSION); } /** * 4.申请回调 */ @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { if (requestCode == REQUEST_CODE_PERMISSION) { List<String> permissionList = new ArrayList<>(); for (int i = 0; i < grantResults.length; i++) { if (grantResults[i] != PackageManager.PERMISSION_GRANTED) permissionList.add(permissions[i]); } if (permissionList.size() > 0) requestPermissions(permissionList); } }
相关文章推荐
- Android 6.0动态申请权限
- Android 6.0 动态权限申请管理 用户拒绝不再提示后再申请
- android 6.0动态弹框申请权限实现
- Android 6.0+动态权限申请模板
- Android 6.0 动态权限申请注意事项
- 安卓6.0+动态权限申请
- android 6.0及以上 运行时权限申请(动态权限申请)
- android 6.0 动态权限申请帮助类
- Android 6.0 动态权限申请
- [置顶] Android 6.0(API 23)及其以上动态申请的权限与申请权限的方法
- Android 6.0 动态权限申请
- Android 6.0 动态权限申请
- Android 6.0权限动态申请
- Android 6.0 动态权限申请详解
- Android 6.0动态权限申请
- Android 6.0 动态权限申请(权限分组)
- android 6.0以后动态申请多个危险权限笔记
- Android 6.0动态申请权限
- Android 6.0 动态权限申请
- Android 6.0 动态权限申请