android 6.0权限申请以及拒绝后的控制解析,Android 6.0后官方对权限做了更改,一些涉及到用户隐私的权限必须要用户手动允许;而对于某些app来说,某个权限一旦被用户拒绝,则面临的是整个app的瘫痪,所以,我们要在合适的位置对出现的异常情况进行特殊操作:
首先调用权限的方法:
ActivityCompat.requestPermissions(final @NonNull Activity activity,final @NonNull String[] permissions, final @IntRange(from = 0) int requestCode)
此方法的三个参数:①为调用权限的当前activity
②权限数组,所有的权限都可以整合到这里
③请求码,用来判断是此次请求操作,后面可以用到
此方法已经判断了sdk>=23的情况,所以我们无需再次判断。
另外有时候我们在需要某个权限的时候,不知道是否已经申请过,这时候我们就需要检查一下,这里检查权限的代码为:
ActivityCompat.checkSelfPermission(@NonNull Context context, @NonNull String permission)
其中①context为当前上下文对象
②permission为需要检查的权限为字符串类型
此方法返回值为int 型,如果==0,则代表已经拥有过权限;如果==-1,则代表还未申请此权限,此方法在任何时间都可以判断。
再一个就是权