android.support.v4.app.Fragment.requestPermissions()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(10.7k)|赞(0)|评价(0)|浏览(160)

本文整理了Java中android.support.v4.app.Fragment.requestPermissions()方法的一些代码示例,展示了Fragment.requestPermissions()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Fragment.requestPermissions()方法的具体详情如下:
包路径:android.support.v4.app.Fragment
类名称:Fragment
方法名:requestPermissions

Fragment.requestPermissions介绍

暂无

代码示例

代码示例来源:origin: donglua/PhotoPicker

public static boolean checkCameraPermission(Fragment fragment) {
  int cameraPermissionState = ContextCompat.checkSelfPermission(fragment.getContext(), CAMERA);
  boolean cameraPermissionGranted = cameraPermissionState == PackageManager.PERMISSION_GRANTED;
  if (!cameraPermissionGranted) {
    fragment.requestPermissions(PermissionsConstant.PERMISSIONS_CAMERA,
        PermissionsConstant.REQUEST_CAMERA);
  }
  return cameraPermissionGranted;
}

代码示例来源:origin: donglua/PhotoPicker

public static boolean checkWriteStoragePermission(Fragment fragment) {
  int writeStoragePermissionState =
      ContextCompat.checkSelfPermission(fragment.getContext(), WRITE_EXTERNAL_STORAGE);
  boolean writeStoragePermissionGranted = writeStoragePermissionState == PackageManager.PERMISSION_GRANTED;
  if (!writeStoragePermissionGranted) {
    fragment.requestPermissions(PermissionsConstant.PERMISSIONS_EXTERNAL_WRITE,
        PermissionsConstant.REQUEST_EXTERNAL_WRITE);
  }
  return writeStoragePermissionGranted;
}

代码示例来源:origin: crazycodeboy/TakePhoto

public static void requestPermission(@NonNull TContextWrap contextWrap, @NonNull String[] permissions) {
  if (contextWrap.getFragment() != null) {
    contextWrap.getFragment().requestPermissions(permissions, TConstant.PERMISSION_REQUEST_TAKE_PHOTO);
  } else {
    ActivityCompat.requestPermissions(contextWrap.getActivity(), permissions, TConstant.PERMISSION_REQUEST_TAKE_PHOTO);
  }
}

代码示例来源:origin: Cleveroad/AdaptiveTableLayout

/**
   * @return true if all permissions is granted
   */
  public static boolean checkOrRequest(@NonNull Fragment fragment, int requestCode, String... permissions) {
    if (!check(fragment.getContext(), permissions)) {
      fragment.requestPermissions(permissions, requestCode);
      return false;
    } else return true;
  }
}

代码示例来源:origin: pockethub/PocketHub

public static void askForPermission(final Fragment fragment, final int requestCode,
                    final String permission, @StringRes final int askTitle,
                    @StringRes final int askContent) {

    if (fragment.shouldShowRequestPermissionRationale(permission)) {
      MaterialDialog.Builder builder = new MaterialDialog.Builder(fragment.getActivity())
          .title(askTitle)
          .content(askContent)
          .positiveText(android.R.string.yes)
          .negativeText(android.R.string.no)
          .onPositive((dialog, which) ->
              fragment.requestPermissions(new String[]{permission}, requestCode));

      builder.show();
    } else {
      fragment.requestPermissions(new String[]{permission}, requestCode);
    }
  }
}

代码示例来源:origin: jokermonn/permissions4m

@Override
  @SuppressLint("NewApi")
  void originalRequest() {
    Object context = getContext();
    String permission = getRequestPermission();
    int code = getRequestCode();
    if (context instanceof android.app.Fragment) {
      ((android.app.Fragment) context).requestPermissions(new String[]{permission}, code);
    } else {
      ((android.support.v4.app.Fragment) context).requestPermissions(new
          String[]{permission}, code);
    }
  }
}

代码示例来源:origin: north2016/T-MVP

.toArray(new String[deniedPermissions.size()]), requestCode);
} else if (object instanceof android.support.v4.app.Fragment) {
  ((android.support.v4.app.Fragment) object).requestPermissions(deniedPermissions
      .toArray(new String[deniedPermissions.size()]), requestCode);
} else {

代码示例来源:origin: k0shk0sh/PermissionHelper

/**
 * internal usage.
 */
private void handleMulti(@NonNull String[] permissionNames) {
  List<String> permissions = declinedPermissionsAsList(context, permissionNames);
  if (permissions.isEmpty()) {
    permissionCallback.onPermissionGranted(permissionNames);
    return;
  }
  boolean hasAlertWindowPermission = permissions.contains(Manifest.permission.SYSTEM_ALERT_WINDOW);
  if (hasAlertWindowPermission) {
    int index = permissions.indexOf(Manifest.permission.SYSTEM_ALERT_WINDOW);
    permissions.remove(index);
  }
  context.requestPermissions(permissions.toArray(new String[permissions.size()]), REQUEST_PERMISSIONS);
}

代码示例来源:origin: k0shk0sh/PermissionHelper

/**
 * to be called when explanation is presented to the user
 */
public void requestAfterExplanation(@NonNull String[] permissions) {
  ArrayList<String> permissionsToRequest = new ArrayList<>();
  for (String permissionName : permissions) {
    if (isPermissionDeclined(permissionName)) {
      permissionsToRequest.add(permissionName); // add permission to request
    } else {
      permissionCallback.onPermissionPreGranted(permissionName); // do not request, since it is already granted
    }
  }
  if (permissionsToRequest.isEmpty()) return;
  permissions = permissionsToRequest.toArray(new String[permissionsToRequest.size()]);
  context.requestPermissions(permissions, REQUEST_PERMISSIONS);
}

代码示例来源:origin: k0shk0sh/PermissionHelper

/**
 * to be called when explanation is presented to the user
 */
public void requestAfterExplanation(@NonNull String permissionName) {
  if (isPermissionDeclined(permissionName)) {
    context.requestPermissions(new String[]{permissionName}, REQUEST_PERMISSIONS);
  } else {
    permissionCallback.onPermissionPreGranted(permissionName);
  }
}

代码示例来源:origin: lovedise/PermissionGen

@TargetApi(value = Build.VERSION_CODES.M)
private static void requestPermissions(Object object, int requestCode, String[] permissions){
 if(!Utils.isOverMarshmallow()) {
  doExecuteSuccess(object, requestCode);
  return;
 }
 List<String> deniedPermissions = Utils.findDeniedPermissions(getActivity(object), permissions);
 if(deniedPermissions.size() > 0){
  if(object instanceof Activity){
   ((Activity)object).requestPermissions(deniedPermissions.toArray(new String[deniedPermissions.size()]), requestCode);
  } else if(object instanceof Fragment){
   ((Fragment)object).requestPermissions(deniedPermissions.toArray(new String[deniedPermissions.size()]), requestCode);
  } else {
   throw new IllegalArgumentException(object.getClass().getName() + " is not supported");
  }
 } else {
  doExecuteSuccess(object, requestCode);
 }
}

代码示例来源:origin: DaxiaK/MyDiary

if (ActivityCompat.shouldShowRequestPermissionRationale(fragment.getActivity(),
    Manifest.permission.ACCESS_FINE_LOCATION)) {
  fragment.requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
      requestCode);
  return false;
} else {
  fragment.requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
      requestCode);
  return false;
    Manifest.permission.CAMERA) || ActivityCompat.shouldShowRequestPermissionRationale(fragment.getActivity(),
    Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
  fragment.requestPermissions(new String[]{Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE},
      requestCode);
  return false;
} else {
  fragment.requestPermissions(new String[]{Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE},
      requestCode);
  return false;
if (ActivityCompat.shouldShowRequestPermissionRationale(fragment.getActivity(),
    Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
  fragment.requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
      requestCode);
  return false;
} else {
  fragment.requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
      requestCode);
  return false;

代码示例来源:origin: k0shk0sh/PermissionHelper

/**
 * internal usage.
 */
private void handleSingle(@NonNull String permissionName) {
  if (permissionExists(permissionName)) {// android M throws exception when requesting
    // run time permission that does not exists in AndroidManifest.
    if (!permissionName.equalsIgnoreCase(Manifest.permission.SYSTEM_ALERT_WINDOW)) {
      if (isPermissionDeclined(permissionName)) {
        if (isExplanationNeeded(permissionName) && !skipExplanation) {
          permissionCallback.onPermissionNeedExplanation(permissionName);
        } else {
          context.requestPermissions(new String[]{permissionName}, REQUEST_PERMISSIONS);
        }
      } else {
        permissionCallback.onPermissionPreGranted(permissionName);
      }
    } else {
      requestSystemAlertPermission();
    }
  } else {
    permissionCallback.onPermissionDeclined(new String[]{permissionName});
  }
}

代码示例来源:origin: mnnyang/ClassSchedule

@TargetApi(Build.VERSION_CODES.M)
private void request(List<String> deniedList, int code) {
  String[] deniedPermissions = deniedList.toArray(new String[deniedList.size()]);
  if (target instanceof Activity) {
    ((Activity) target).requestPermissions(deniedPermissions, code);
    callbacks.put(code, callback);
  } else if (target instanceof Fragment) {
    ((Fragment) target).requestPermissions(deniedPermissions, code);
    callbacks.put(code, callback);
  }
}

代码示例来源:origin: qyxxjd/AndroidBasicProject

@TargetApi(23)
private static void executePermissionsRequest(Object object, String[] perms, int requestCode) {
  checkCallingObjectSuitability(object);
  if (object instanceof Activity) {
    ActivityCompat.requestPermissions((Activity) object, perms, requestCode);
  } else if (object instanceof Fragment) {
    ((Fragment) object).requestPermissions(perms, requestCode);
  } else if (object instanceof android.app.Fragment) {
    ((android.app.Fragment) object).requestPermissions(perms, requestCode);
  }
}

代码示例来源:origin: HanderWei/PermissionBestPractice

@TargetApi(23)
static void executePermissionsRequest(Object object, String[] perms, int requestCode) {
  checkCallingObjectSuitability(object);
  if (object instanceof Activity) {
    ActivityCompat.requestPermissions((Activity) object, perms, requestCode);
  } else if (object instanceof Fragment) {
    ((Fragment) object).requestPermissions(perms, requestCode);
  } else if (object instanceof android.app.Fragment) {
    ((android.app.Fragment) object).requestPermissions(perms, requestCode);
  }
}

代码示例来源:origin: arvinljw/PictureSelector

@TargetApi(23)
private static void executePermissionsRequest(Object object, String[] perms, int requestCode) {
  checkCallingObjectSuitability(object);
  if (object instanceof Activity) {
    ActivityCompat.requestPermissions((Activity) object, perms, requestCode);
  } else if (object instanceof Fragment) {
    ((Fragment) object).requestPermissions(perms, requestCode);
  } else if (object instanceof android.app.Fragment) {
    ((android.app.Fragment) object).requestPermissions(perms, requestCode);
  }
}

代码示例来源:origin: xinshoucb/EasyPermissionsEx

@TargetApi(23)
private static void executePermissionsRequest(Object object, String[] perms, int requestCode) {
  checkCallingObjectSuitability(object);
  if (object instanceof Activity) {
    ActivityCompat.requestPermissions((Activity) object, perms, requestCode);
  } else if (object instanceof Fragment) {
    ((Fragment) object).requestPermissions(perms, requestCode);
  } else if (object instanceof android.app.Fragment) {
    ((android.app.Fragment) object).requestPermissions(perms, requestCode);
  }
}

代码示例来源:origin: KunMinX/android-viabus-architecture

public static void requestPermissionInFragment(IPermissionCallback iPermissionCallback, Fragment fragment, String... permissions) {
  sIPermissionCallback = iPermissionCallback;
  for (String permission : permissions) {
    if (needPermission(fragment.getActivity(), permission)) {
      fragment.requestPermissions(new String[]{permission}, REQUEST_PERMISSIONS);
    }
  }
}

代码示例来源:origin: jakubkinst/Android-ViewModelBinding

public void requestPermissions(String[] permissions, PermissionCallback callback) {
  mCallback = callback;
  if(mViewModel.getView() instanceof Fragment) {
    ((Fragment) mViewModel.getView()).requestPermissions(permissions, RC_PERMISSIONS);
  } else {
    ActivityCompat.requestPermissions(mViewModel.getActivity(), permissions, RC_PERMISSIONS);
  }
}

相关文章

微信公众号

最新文章

更多

Fragment类方法