Android 权限中有哪些不同的保护级别?
在构建 Android 应用程序时,我们需要不同的 Android 设备组件,例如摄像头、GPS 等。因此,为了使用我们 Android 智能手机的这些功能,我们必须首先获得用户的许可才能在他们的手机上使用某些东西。您不能直接使用任何这些功能。此外,权限具有不同的保护级别;例如,如果权限的保护级别非常低,则无需要求用户使用该权限。您可以立即使用它。但是,对于危险权限,您必须明确获得用户的许可。在这篇关于极客的极客文章中,我们将了解授权保护的各个层次。
保护等级
通常,如果我们要添加某些用户权限,我们在 AndroidManifest.xml 文件中输入以下代码:
前面的行允许访问设备的振动或触觉电机。
使用许可并非易事;您必须决定是否需要明确请求用户许可,或者您是否可以立即获得许可。此选择取决于权限的保护程度。 Android中的三个权限保护级别如下:
- 正常权限
- 签名权限
- 危险的权限
这是三个主要的权限保护级别;但是,还有一个额外的安全级别,称为特殊权限。让我们一次看一下它们。
权限类别 #1:普通权限
如果对用户隐私的危害很小或没有危险,则该权限属于正常权限类别。例如,如果你想获取数据和时间,这些东西不涉及任何用户隐私,在这种情况下你不需要要求用户使用日期或时间。您可以通过向 AndroidManifest.xml 文件添加权限来直接使用此功能。系统会在安装过程中自动为您的应用提供授权。普通权限包括以下权限:
- ACCESS_LOCATION_EXTRA_COMMANDS
- ACCESS_NETWORK_STATE
- CHANGE_NETWORK_STATE
- ACCESS_WIFI_STATE
- CHANGE_WIFI_STATE
- CHANGE_WIFI_MULTICAST_STATE
- 蓝牙
- BLUETOOTH_ADMIN
- 互联网
- SET_ALARM
- SET_WALLPAPER
- 颤动
- WAKE_LOCK
权限类别#2:签名授权
Android 系统在安装过程中会赋予这些权限,但有一个问题。请求权限的应用必须使用与定义所需权限的应用相同的签名。一些签名权限如下:
- BIND_ACCESSIBILITY_SERVICE
- BIND_AUTOFILL_SERVICE
- BIND_CARRIER_SERVICE
- BIND_DEVICE_ADMIN
- BIND_INPUT_METHOD
- BIND_NFC_SERVICE
- BIND_TV_INPUT
- BIND_WALLPAPER
- READ_VOICEMAIL
- WRITE_SETTINGS
- WRITE_VOICEMAIL
许可类别#3:危险的
危险的权限包括以某种方式影响用户数据的权限。例如,如果您希望从手机中读取联系人或访问手机的文件存储,则这些权利属于危险类别,因为它们涉及用户的隐私。要使用危险权限,您必须首先通过显示警告对话框或任何其他对话框来明确寻求许可。如果用户拒绝该权限,您的应用程序将无法使用该权限。一些危险权限如下:
- READ_CALENDAR
- WRITE_CALENDAR
- 相机
- READ_CALL_LOG
- WRITE_CALL_LOG
- READ_CONTACTS
- WRITE_CONTACTS
- GET_ACCOUNTS
- ACCESS_FINE_LOCATION
- ACCESS_COARSE_LOCATION
- 发送短信
- RECEIVE_SMS
权限例外
这些许可证在性质上既不正常也不危险。大多数应用程序不应使用这些权利,因为它们非常敏感,并且在使用前需要用户同意。要使用此权限,请在 AndroidManifest.xml 文件中声明它,然后提交请求用户授权的意图。一些特殊权限如下:
- WRITE_SETTINGS
- SYSTEM_ALERT_WINDOW
结论
在本文中,我们了解了权限中可用的各种保护程度。正常权限、签名权限和危险权限是三种类型。