Android开发基础(三)

本文详细介绍了Android应用权限管理的四个等级:正常、危险、签名和签名或系统,包括每个级别的权限类型及其在AndroidManifest.xml中的应用示例,强调了权限申请对用户隐私和设备安全的重要性。
摘要由CSDN通过智能技术生成

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开发中的权限经过多次改版,权限的级别也会有相应的调整,欢迎指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kevin写代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值