服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Android - 详解Android 检测权限的三种写法

详解Android 检测权限的三种写法

2022-08-09 11:06JoshLiPan Android

这篇文章主要介绍了详解Android 检测权限的三种写法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

本文介绍了详解Android 检测权限的三种写法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

权限检测生效条件:

  1. targetSdkVersion 以及 compileSdkVersion 升级到 23 及以上
  2. 运行 Android 系统 6.0 及以上

三种检测权限写法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public static boolean checkPermission1(Context context, String[] permissions) {
  PackageManager packageManager = context.getPackageManager();
  String packageName = context.getPackageName();
 
  for (String permission : permissions) {
    int per = packageManager.checkPermission(permission, packageName);
    if (PackageManager.PERMISSION_DENIED == per) {
      Log.w(TAG, "required permission not granted . permission = " + permission);
      return false;
    }
  }
  return true;
}
 
public static boolean checkPermission2(Context context, String[] permissions) {
 
  for (String permission : permissions) {
    int per =context.checkPermission(permission, Process.myPid(),Process.myUid());
    if (PackageManager.PERMISSION_GRANTED != per) {
      Log.w(TAG, "required permission not granted . permission = " + permission);
      return false;
    }
  }
  return true;
}
 
public static boolean checkPermission3(Context context, String[] permissions) {
 
  for (String permission : permissions) {
    int per = ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA);
    if (PackageManager.PERMISSION_GRANTED != per) {
      Log.w(TAG, "required permission not granted . permission = " + permission);
      return false;
    }
  }
  return true;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://www.jianshu.com/p/11d99a9be7d9

延伸 · 阅读

精彩推荐