当前位置: 首页 > news >正文

android 权限说明

1. 权限的定义语法

注:
任何应用都可以定义权限
<permission 标签是定义权限
<uses-permission 标签是使用权限。

<permission android:description="string resource"android:icon="drawable resource"android:label="string resource"android:name="string"android:permissionGroup="string"android:protectionLevel=["normal" | "dangerous" |"signature" | ...] />
  • android:description :权限的说明,比标签更长,信息更丰富。
  • android:icon : 对表示权限的图标的引用。
  • android:label : 权限的名称。
  • android:name: 用于在代码中引用权限的名称。
<uses-permission>
  • android:permissionGroup : 将此权限分配给一个组。
  • android:protectionLevel : 说明权限中隐含的潜在风险,并指示系统在确定是否将权限授予请求授权的应用时要遵循的流程。
    每个保护级别都包含基本权限类型以及零个或多个标志。例如,“dangerous” 保护级别没有标志。相反,保护级别 “signature|privileged” 是 “signature” 基本权限类型和 “privileged” 标志的组合。
含义
“normal”系统会自动向在安装时请求授权的应用授予此类权限,无需征得用户的明确许可
“dangerous”系统可能不会自动向请求授权的应用授予此类权限,需要应用主动向用户请求
“signature”只有在请求授权的应用使用与声明权限的应用相同的证书进行签名时系统才会授予的权限。如果证书匹配,系统会在不通知用户或征得用户明确许可的情况下自动授予权限。
注:如果是系统定义的权限,则需要使用此权限的应用是平台签名。
如果是应用定义的权限,则需要使用此权限的应用和定义权限的签名相同。
“knownSigner”只有在请求授权的应用使用允许使用的证书进行签名时系统才会授予的权限。如果请求者的证书已列出,系统会在不通知用户或征得用户明确许可的情况下自动授予权限。
“signatureOrSystem”
“signature|privileged”
系统仅向位于 Android 系统映像的专用文件夹中的应用或使用与声明权限的应用相同的证书进行签名的应用授予的权限。
注:privileged 意味着应用位于 priv-app/ 目录下

系统权限定义的位置

源码位置:frameworks/base/core/res/AndroidManifest.xml
设备上包的位置:system/framework/framework-res.apk
android.permission.CAMERA 权限定义示例:

    <permission android:name="android.permission.CAMERA"android:permissionGroup="android.permission-group.UNDEFINED"android:label="@string/permlab_camera"android:description="@string/permdesc_camera"android:backgroundPermission="android.permission.BACKGROUND_CAMERA"android:protectionLevel="dangerous|instant" />

参考地址:

系统开发,权限说明文档。
https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/permission/Permissions.md
应用权限开发文档
https://developer.android.google.cn/guide/topics/permissions/overview?hl=zh-cn
权限列表:
https://developer.android.google.cn/reference/android/Manifest.permission?hl=en#ACCESS_NETWORK_STATE
定义格式:
https://developer.android.com/guide/topics/manifest/permission-element?hl=zh-cn

http://www.lryc.cn/news/436598.html

相关文章:

  • <winsock>重叠IO模型
  • Android Tools | 如何使用Draw.io助力Android开发:从UI设计到流程优化
  • Java 每日一刊(第5期):变量守护者
  • 【C++二分查找】2517. 礼盒的最大甜蜜度
  • 【详解】数据库E-R图——医院计算机管理系统
  • 分类预测|基于改进的灰狼IGWO优化支持向量机SVM的数据分类预测matlab程序 改进策略:Cat混沌与高斯变异
  • 圆锥曲线练习
  • STM32时钟树
  • NX—UI界面生成的文件在VS上的设置
  • Wine容器内程序执行sh脚本问题研究
  • 《深度学习》OpenCV轮廓检测 模版匹配 解析及实现
  • Java XML
  • 好用的视频压缩工具有哪些?这4款千万不要错过
  • 【Python爬虫系列】_016.关于登录和验证码
  • 基于opencv实现双目立体匹配点云距离
  • RabbitMQ高级篇,进阶内容
  • STM32重定义printf,实现串口打印
  • 项目进度
  • Android的内核
  • Github Wiki 超链接 转 码云Gitee Wiki 超链接
  • Android10源码刷入Pixel2以及整合GMS
  • wpf触发与模板的使用示例:批量生产工具
  • brew install node提示:Error: No such keg: /usr/local/Cellar/node
  • 记录一下gitlab社区版的安装教程
  • 20. 如何在MyBatis中处理多表关联查询?常见的实现方式有哪些?
  • 【百日算法计划】:每日一题,见证成长(013)
  • PCL 读取和保存点云
  • js | TypeError: Cannot read properties of null (reading ‘indexOf’) 【解决】
  • 微信小程序-formData使用
  • 潜在语义分析(Latent Semantic Analysis,LSA)—无监督学习方法、非概率模型、判别模型、线性模型、非参数化模型、批量学习