Android API 23+ 动态权限申请
2016-09-26 17:26
162 查看
final List<String> permissionsList = new ArrayList<>(); //需要申请的权限列表 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){ //判断版本号是否大于23 if ((checkSelfPermission(Manifest.permission.READ_PHONE_STATE)!= PackageManager.PERMISSION_GRANTED)) //判断该权限是否获得授权 permissionsList.add(Manifest.permission.READ_PHONE_STATE); if ((checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED)) permissionsList.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); if (permissionsList.size() == 0){ init(); //初始化 }else{ requestPermissions(permissionsList.toArray(new String[permissionsList.size()]), REQUEST_PHONE_PERMISSIONS); //进行权限申请 } }else{ init(); }
复写回调方法。
@Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { switch (requestCode) { case REQUEST_PHONE_PERMISSIONS: if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { init(); } else { Toast.makeText(this, getString(R.string.need_permission),Toast.LENGTH_SHORT).show(); finish(); } break; default: super.onRequestPermissionsResult(requestCode, permissions, grantResults); } }
相关文章推荐
- Android 6.0(API 23)之后需动态申请权限的问题
- Android之动态申请权限(API23以上需求)
- [置顶] Android 6.0(API 23)及其以上动态申请的权限与申请权限的方法
- Android 6.0(API 23) 含以上 java.lang.SecurityException 权限需动态申请(危险权限)
- Android之动态申请权限(API23以上需求)
- Android之动态申请权限(API23以上需求)
- Android6.0动态申请权限
- Android6.0动态权限申请
- Android6.0动态申请权限的两种办法
- Android 6.0动态申请权限
- 安卓动态申请权限
- Android6.0动态申请权限的框架RxPermission
- Android6.0动态权限申请步骤以及需要注意的一些坑
- Android6.0以上,动态权限申请
- Android 华为手机存储图片以及下载apk需要申请动态权限
- 6.0动态申请权限
- android 动态申请权限
- Android动态权限申请
- Android动态申请权限
- 安卓6.0以上动态权限申请