权限申请的用法
ActivityCompat.requestPermissions(activity, permissions, requestCode);
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
源码解析
- ActivityCompat.requestPermissions()
- 对于6.0以下的手机,校验权限是否在Manifest.xml中声明过,并回调onRequestPermissionsResult()方法
- 对于6.0以上的手机,交给Activity.requestPermissions()处理
public static void requestPermissions(final @NonNull Activity activity,
final @NonNull String[] permissions, final @IntRange(from = 0) int requestCode) {
if (sDelegate != null
&& sDelegate.requestPermissions(activity, permissions, requestCode)) {
return;
}
if (Build.VERSION.SDK_INT >= 23) {
if (activity instanceof RequestPermissionsRequestCodeValidator) {
(