HeyPermission.java 文件源码

java
阅读 34 收藏 0 点赞 0 评论 0

项目:hey-permission 作者:
/**
 * Check if the calling context has a set of permissions.
 *
 * @param context     The calling context
 * @param permissions One or more permission.
 * @return True if all permissions are already granted, false if at least one permission is not
 * yet granted.
 * @see android.Manifest.permission
 */
public static boolean hasPermissions(@NonNull Context context,
                                     @NonNull @Size(min = 1) String... permissions) {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
        return true;
    }

    final AppOpsManager appOpsManager = context.getSystemService(AppOpsManager.class);
    final String packageName = context.getPackageName();
    for (String permission : permissions) {
        if (ContextCompat.checkSelfPermission(context, permission)
                != PackageManager.PERMISSION_GRANTED) {
            return false;
        }
        String op = AppOpsManager.permissionToOp(permission);
        if (!TextUtils.isEmpty(op) && appOpsManager != null
                && appOpsManager.noteProxyOp(op, packageName) != AppOpsManager.MODE_ALLOWED) {
            return false;
        }
    }
    return true;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号