Android开发基础(三)

Android开发基础(三)
本篇将介绍Android权限管理。
Android开发

Android权限管理

Android权限管理主要是为了保护用户的隐私和设备的安全性;
在Android系统中,应用在请求权限时必须进行明确的申请,根据权限的保护级别,系统可能会自动授予权限,或者提示用户批准请求;
Android将权限分为四类,不同级别的权限对应不同的认证方式。

一、normal

只要申请了就可以使用(在AndroidManifest.xml中添加标签),安装时不需要用户确认。

// 访问粗略位置
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
// 允许应用查看网络状态,例如是否连接到Wi-Fi或移动数据
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
// 允许应用访问设备的通知策略
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />
// 允许应用查看Wi-Fi网络的状态,但不包括连接到的具体Wi-Fi网络的信息
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
// 允许应用连接到已配对的蓝牙设备,以及发现附近的蓝牙设备
<uses-permission android:name="android.permission.BLUETOOTH" />
// 允许应用执行蓝牙相关的操作,例如打开蓝牙设置、扫描附近的蓝牙设备等
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
// 用于发送粘性广播的权限,粘性广播是一种特殊类型的广播,它允许应用在广播接收器被注册后继续接收广播,即使应用未在运行时
<uses-permission android:name="android.permission.BROADCAST_STICKY" />

二、dangerous

安装时需要用户的确认才可使用。

// 允许应用读取外部存储设备的文件,包括图片、音乐、文档等
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
// 允许应用写入外部存储设备的文件
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  
// 允许应用使用相机拍照或录制视频
<uses-permission android:name="android.permission.CAMERA" /> 
// 允许应用录制音频
<uses-permission android:name="android.permission.RECORD_AUDIO" /> <!-- 或者使用 MICROPHONE -->
// 允许应用访问用户的地理位置信息
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 或者使用 LOCATION -->
// 允许应用访问设备的传感器数据,如加速度计、陀螺仪等
<uses-permission android:name="android.permission.SENSORS" /> 
// 访问联系人信息,读取联系人
<uses-permission android:name="android.permission.READ_CONTACTS"/>
// 访问联系人信息,写入联系人
<uses-permission android:name="android.permission.WRITE_CONTACTS"/> 
// 允许应用更改网络状态,例如打开或关闭移动数据连接
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />

三、signature

只有当申请权限的应用程序的数字签名与声明此权限的应用程序的数字签名相同时(如果是申请系统权限,则需要与系统签名相同),才能将权限授给它;
以系统内置的signature级别权限为例,Android系统应用的签名由平台密钥签发,默认情况下源码树里有4个不同的密钥文件:platform、shared、media和testkey。

// 允许应用读取手机状态信息,如IMEI、手机号码等
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
// 允许应用程序读取通话记录
<uses-permission android:name="android.permission.READ_CALL_LOG" /> 
// 允许应用写入通话记录
<uses-permission android:name="android.permission.WRITE_CALL_LOG" />
// 允许应用程序读取短信和彩信
<uses-permission android:name="android.permission.READ_SMS" /> 
// 允许应用程序编写和删除短信和彩信
<uses-permission android:name="android.permission.WRITE_SMS" /> 

四、signatureOrSystem

签名相同,或者申请权限的应用为系统应用(在system image中)。

Android开发中的权限经过多次改版,权限的级别也会有相应的调整,欢迎指正。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/343862.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

打造高性价比小程序,轻松降低成本

随着移动互联网的普及&#xff0c;小程序已经成为一个热门的应用开发方向。然而&#xff0c;对于许多企业和个人而言&#xff0c;制作一个小程序的费用却让人望而却步。那么&#xff0c;如何以最低的成本制作一款高性价比的小程序呢&#xff1f; 答案很简单&#xff0c;只需要找…

什么是 CAS

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一波电子书籍资料&#xff0c;包含《Effective Java中文版 第2版》《深入JAVA虚拟机》&#xff0c;《重构改善既有代码设计》&#xff0c;《MySQL高性能-第3版》&…

Qt添加资源文件

ui->setupUi(this);//1. 使用本地文件&#xff1a;ui->actionasdasdas->setIcon(QIcon("本地绝对路径"));ui->actiona1->setIcon(QIcon("C:/Users/满满/Desktop/output/picture/1.jpg"));//2. 使用资源文件&#xff1a;ui->actionasdasd…

C++内存管理机制(侯捷)笔记4(完结)

C内存管理机制&#xff08;侯捷&#xff09; 本文是学习笔记&#xff0c;仅供个人学习使用。如有侵权&#xff0c;请联系删除。 参考链接 Youtube: 侯捷-C内存管理机制 Github课程视频、PPT和源代码: https://github.com/ZachL1/Bilibili-plus 介绍 下面是第四讲和第五讲…

html+css实现子元素完全居中常见方案

详细过程 查看公众号文章 htmlcss实现子元素完全居中常见方案 获取更多内容&#xff0c;请关注微信公众号。搜索“码圈小橙子”&#xff0c;或扫描下方二维码获取关注

Jarvis步进法(Jarvis March)凸包算法

Jarvis步进法&#xff08;也称为包裹法&#xff09;&#xff1a; Jarvis步进法是一种逐步选择凸包顶点的算法。从点集中选择一个起始点&#xff0c;然后在每一步中选择下一个顶点&#xff0c;该顶点是当前点集中与当前点形成的线段上&#xff0c;极角最小的点。该算法的时间复杂…

限流式保护器在户外汽车充装的应用

摘 要&#xff1a;国家标准GB51348-2019中规定储备仓库、电动车充电等场所的末端回路应设置限流式电气防火保护器。电气防火限流式保护器可以有效克服传统断路器、空气开关和监控设备存在的短路电流大、切断短路电流时间长、短路时产生的电弧火花大&#xff0c;以及使用寿命短等…

XSS的利用(包含:蓝莲花、beef-xss)

0x00、环境搭建 dvwa靶场 操作指南和最佳实践:使用 DVWA 了解如何防止网站漏洞_dvwa源代码-CSDN博客 xss漏洞接收平台 下载:GitHub - firesunCN/BlueLotus_XSSReceiver 将解压后的BlueLotus_XSSReceiver原代码放置 phpstudy 安装目录的WWW文件夹下 访问平台:http://127…

【科研技巧】如何判断某个期刊是什么类别及影响因子?是否是顶会?如何期刊内检索?AI写综述?AI做PPT?

相关链接 查找和免费下载文献的方式汇总国内外各大期刊关系、如何查看期刊等级以及查看某篇论文属于哪个期刊登录和访问EI(Engineering Village)数据库查找文献 1 如何判断某个期刊是什么类别及影响因子 https://sci.justscience.cn/ IFold是影响因子 期刊类别为SCIE、查看…

基于springboot+vue心理测试管理系统

摘要 基于Spring Boot 和 Vue 的心理测试管理系统是一个综合利用现代Web开发技术的应用程序。系统采用了Spring Boot作为后端框架&#xff0c;通过其简化的配置和强大的功能提供了稳健的服务器端支持。前端则使用Vue.js&#xff0c;一个灵活、高效的JavaScript框架&#xff0c;…

装机必看:电脑Bios里的CSM兼容模块是啥?打开有啥用?

前言 最近朋友装了一台新的电脑&#xff0c;用的i5-13490f的CPU。但是由于预算有限&#xff0c;手边只有一块GTX650ti&#xff0c;没办法&#xff0c;只好先这么用着了。 谁知道出现了个大问题&#xff1a;电脑开机居然没办法显示。 由于电脑所有的配件基本上都是全新的&…

qt初入门2:qt选择一个文件或者目录,获取当前目录,操作文件目录等整理

最近用qt操作文件或者目录的动作比较多&#xff0c;简单整理一下常用的接口&#xff0c;方便回顾。 总的来说&#xff0c;其实就是用文件选择对话框QFileDialog类&#xff0c;以及操作文件信息的QFileInfo类&#xff0c;以及相关QCoreApplication中静态成员函数获取一些信息&a…