运行时权限

来源:互联网 发布:java ftpclient linux 编辑:程序博客网 时间:2024/06/05 04:26

总共就几个方法

1.检查权限

ContextCompat.checkSelfPermission();//或者,继承关系ActivityCompat.checkSelfPermission();//具体权限在Manifest.permission这个类中//如: Manifest.permission.WRITE_EXTERNAL_STORAGE

2.请求权限

ActivityCompat.requestPermissions();

3.请求权限后回调

//这个方法是FragmentActivity提供的@Overridepublic void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {    super.onRequestPermissionsResult(requestCode, permissions, grantResults);}//权限有两种状态PackageManager.PERMISSION_GRANTEDPackageManager.PERMISSION_DENIED

4.是否要提示用户引用权限的理由

//这个方法只有在api>=23时才有用(Build.VERSION_CODES.M=23)ActivityCompat.shouldShowRequestPermissionRationale()//这个方法的目的是在必要的情况下向用户解释为什么需要此权限,看方法名就能知道目的/** |  应用安装后第一次访问,直接返回false;* |  第一次请求权限时,用户拒绝了,下一次shouldShowRequestPermissionRationale()返回 true,这时候可以显示一些为什么需要这个权限的说明;* |  第一次之后的请求权限时,用户拒绝了,并选择了“不再提醒”的选项时:shouldShowRequestPermissionRationale()返回 false;* |  设备的系统设置中禁止当前应用获取这个权限的授权,shouldShowRequestPermissionRationale()返回false;*/
0 0