/**
* 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;
}
HeyPermission.java 文件源码
java
阅读 34
收藏 0
点赞 0
评论 0
项目:hey-permission
作者:
评论列表
文章目录