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