Android开发-权限配置总结

对于Android开发来说我们一般都会需要申请权限,android6.0以上,google为了系统的安全性,当app用到设计到用户隐私的权限的时候需要进行权限适配,所以我们仅仅在AndroidManifest中声明权限还是不够的。需要手动的进行权限适配,因此,在Android开发过程中,申请权限的方式分两种形式。

  • 通过配置文件AndroidManifest.xml中编写权限配置。
  • 通过在逻辑代码中动态申请权限授权。

简介

基于以上介绍,我们可以将Android权限分为两大类:普通权限高级权限,那么对应起来,普通权限的申请在配置文件中编写就能实现,而高级权限则需要动态申请并通过人工确认来实现,那么究竟哪些权限属于普通权限,哪些又属于高级权限呢?请看下文。

一、普通权限

1. 常见普通权限列表
权限名称 所属权限组
ACCESS_LOCATION_EXTRA_COMMANDS 定位权限
ACCESS_NETWORK_STATE 网络状态权限
ACCESS_NOTIFICATION_POLICY 通知 APP通知显示在状态栏
ACCESS_WIFI_STATE WiFi 状态权限
BLUETOOTH 使用蓝牙权限
BLUETOOTH_ADMIN 控制蓝牙开关
BROADCAST_STICKY 粘性广播
CHANGE_NETWORK_STATE 改变网络状态
CHANGE_WIFI_MULTICAST_STATE 改变WiFi多播状态,应该是控制手机热点(猜测)
CHANGE_WIFI_STATE 控制WiFi开关,改变WiFi状态
DISABLE_KEYGUARD 改变键盘为不可用
EXPAND_STATUS_BAR 扩展bar的状态
GET_PACKAGE_SIZE 获取应用安装包大小
INTERNET 网络权限
KILL_BACKGROUND_PROCESSES 杀死后台进程
MODIFY_AUDIO_SETTINGS 改变音频输出设置
NFC 支付
READ_SYNC_SETTINGS 获取手机设置信息
READ_SYNC_STATS 数据统计
RECEIVE_BOOT_COMPLETED 监听启动广播
REORDER_TASKS 创建新栈
REQUEST_INSTALL_PACKAGES 安装应用程序
SET_TIME_ZONE 允许应用程序设置系统时间区域
SET_WALLPAPER 设置壁纸
SET_WALLPAPER_HINTS 设置壁纸上的提示信息,个性化语言
TRANSMIT_IR 红外发射
USE_FINGERPRINT 指纹识别
VIBRATE 震动
WAKE_LOCK 锁屏
WRITE_SYNC_SETTINGS 改变设置
SET_ALARM 设置警告提示
INSTALL_SHORTCUT 创建快捷方式
UNINSTALL_SHORTCUT 删除快捷方式
2. 配置文件编写方式

AndroidManifest.xml文件中的manifest标签下编写权限配置清单代码如下(name中XXXX对应的内容就是上面提到的权限名称):


//配置网络权限
3. 小结

对于动态权限申请,可以采用封装好的权限申请框架方便的处理权限申请问题,这样有利于代码的重用和整洁性,由于笔者经验有限,还没有对该类框架进行深入的分析,这里推荐笔者收藏的几个链接供大家参考:

  • compile 'com.yanzhenjie:permission:1.1.0'
  • com.github.Thor-jelly:MyPermission:v1.0.1
  • RxPermissions

三、总结

笔者经验有限,文章中所有的知识点来自Google官方文档及博客内容,后续会不断丰富技术体系,为大家贡献更加有价值的知识分享,同时也希望看到文章的读者和专家对文中的不妥之处进行指正。

参考文献

  1. 安卓权限大全-作者[GB_speak]
  2. Android 6.0(API 23)及其以上动态申请的权限与申请权限的方法-CSDN作者[HeTingwei]
  3. Android6.0权限大全和权限分类-CSDN作者[DaXian-Will]
  4. Android系统完整的权限列表-CSDN作者[lianyi68]

转载请注明出处:https://www.jianshu.com/p/52e66d9e4a9a

你可能感兴趣的:(Android开发-权限配置总结)