📜  Android 权限中有哪些不同的保护级别?

📅  最后修改于: 2022-05-13 01:58:44.298000             🧑  作者: Mango

Android 权限中有哪些不同的保护级别?

在构建 Android 应用程序时,我们需要不同的 Android 设备组件,例如摄像头、GPS 等。因此,为了使用我们 Android 智能手机的这些功能,我们必须首先获得用户的许可才能在他们的手机上使用某些东西。您不能直接使用任何这些功能。此外,权限具有不同的保护级别;例如,如果权限的保护级别非常低,则无需要求用户使用该权限。您可以立即使用它。但是,对于危险权限,您必须明确获得用户的许可。在这篇关于极客的极客文章中,我们将了解授权保护的各个层次。

保护等级

通常,如果我们要添加某些用户权限,我们在 AndroidManifest.xml 文件中输入以下代码:

前面的行允许访问设备的振动或触觉电机。

使用许可并非易事;您必须决定是否需要明确请求用户许可,或者您是否可以立即获得许可。此选择取决于权限的保护程度。 Android中的三个权限保护级别如下:

  1. 正常权限
  2. 签名权限
  3. 危险的权限

这是三个主要的权限保护级别;但是,还有一个额外的安全级别,称为特殊权限。让我们一次看一下它们。

权限类别 #1:普通权限

如果对用户隐私的危害很小或没有危险,则该权限属于正常权限类别。例如,如果你想获取数据和时间,这些东西不涉及任何用户隐私,在这种情况下你不需要要求用户使用日期或时间。您可以通过向 AndroidManifest.xml 文件添加权限来直接使用此功能。系统会在安装过程中自动为您的应用提供授权。普通权限包括以下权限:

  1. ACCESS_LOCATION_EXTRA_COMMANDS
  2. ACCESS_NETWORK_STATE
  3. CHANGE_NETWORK_STATE
  4. ACCESS_WIFI_STATE
  5. CHANGE_WIFI_STATE
  6. CHANGE_WIFI_MULTICAST_STATE
  7. 蓝牙
  8. BLUETOOTH_ADMIN
  9. 互联网
  10. SET_ALARM
  11. SET_WALLPAPER
  12. 颤动
  13. WAKE_LOCK

权限类别#2:签名授权

Android 系统在安装过程中会赋予这些权限,但有一个问题。请求权限的应用必须使用与定义所需权限的应用相同的签名。一些签名权限如下:

  1. BIND_ACCESSIBILITY_SERVICE
  2. BIND_AUTOFILL_SERVICE
  3. BIND_CARRIER_SERVICE
  4. BIND_DEVICE_ADMIN
  5. BIND_INPUT_METHOD
  6. BIND_NFC_SERVICE
  7. BIND_TV_INPUT
  8. BIND_WALLPAPER
  9. READ_VOICEMAIL
  10. WRITE_SETTINGS
  11. WRITE_VOICEMAIL

许可类别#3:危险的

危险的权限包括以某种方式影响用户数据的权限。例如,如果您希望从手机中读取联系人或访问手机的文件存储,则这些权利属于危险类别,因为它们涉及用户的隐私。要使用危险权限,您必须首先通过显示警告对话框或任何其他对话框来明确寻求许可。如果用户拒绝该权限,您的应用程序将无法使用该权限。一些危险权限如下:

  1. READ_CALENDAR
  2. WRITE_CALENDAR
  3. 相机
  4. READ_CALL_LOG
  5. WRITE_CALL_LOG
  6. READ_CONTACTS
  7. WRITE_CONTACTS
  8. GET_ACCOUNTS
  9. ACCESS_FINE_LOCATION
  10. ACCESS_COARSE_LOCATION
  11. 发送短信
  12. RECEIVE_SMS

权限例外

这些许可证在性质上既不正常也不危险。大多数应用程序不应使用这些权利,因为它们非常敏感,并且在使用前需要用户同意。要使用此权限,请在 AndroidManifest.xml 文件中声明它,然后提交请求用户授权的意图。一些特殊权限如下:

  1. WRITE_SETTINGS
  2. SYSTEM_ALERT_WINDOW

结论

在本文中,我们了解了权限中可用的各种保护程度。正常权限、签名权限和危险权限是三种类型。