首页 > 代码库 > 运行时权限
运行时权限
在fragment或者activity中的onCreate()方法中判断。
if(Build.VERSION.SDK_INT>=23){ //①checkSelfPermission 检查当前应用的权限 if(ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.READ_EXTERNAL_STORAGE)== PermissionChecker.PERMISSION_DENIED){ //②PERMISSION_DENIED说明没有权限需要手动申请 // requestPermissions 请求权限的方法 //第一个参数 activity //第二个参数 需要请求的权限的 权限String数组 //第三个参数 请求码 用来区分不同的权限请求 //需要注意 最后一个参数 requestCode需要>0 ActivityCompat.requestPermissions(getActivity(),new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},1); return; } }
requestPermissions()方法是异步的,不知道什么时候用户什么时候点击完,用户点击完授权,下面是回调方法
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { //③用户操作授权之后 会走这个回调方法 onRequestPermissionsResult if(grantResults[0]== PermissionChecker.PERMISSION_GRANTED){ // initData(); VBangFragment fragment = (VBangFragment) fragments.get(R.id.tab_vbang); fragment.initData(); }else{ ToastUtils.showToast(getApplicationContext(),"没有sd卡权限,无法获取音乐信息"); } super.onRequestPermissionsResult(requestCode, permissions, grantResults); }
运行时权限
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。