版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本章教学目标Android权限历史;动态权限需求原因;需要动态申请的权限;动态权限申请步骤;AndroidMainfest.xml文件配置判断Android系统版本检查权限申请权限回调的处理Android权限历史安卓系统的权限管理机制从API23(也就是Android6.0又叫做AndroidM,)之后发生了比较大的改变,在一些比较危险的权限上要求必须申请动态权限,即使在AndroidMainfest.xml文件中申请也没有任何用,或者可以将编译的目标版本设定这API22,这样就可以了。但这并不是长久之计。动态权限需求原因Android6.0之前,权限在应用安装过程中只询问一次,以列表的形式展现给用户,然而大多数用户并不会注意到这些,直接就下一步了,应用安装成功后就会被赋予清单文件中的所有权限,应用就可以在用户不知情的情况下进行非法操作(比如偷偷的上传用户数据)。需要动态申请的权限READ_CALENDAR,WRITE_CALENDAR读写日历权限CAMERA调用相机权限READ_CONTACTS,WRITE_CONTACTS,GET_ACCOUNTS通讯录权限ACCESS_FINE_LOCATION,ACCESS_COARSE_LOCATION定位权限RECORD_AUDIO录音权限需要动态申请的权限READ_PHONE_STATE,CALL_PHONEREAD_CALL_LOG,WRITE_CALL_LOGADD_VOICEMAIL手机状态相关BODY_SENSORS传感器权限SMSSEND_SMS,RECEIVE_SMS,READ_SMS,RECEIVE_WAP_PUSH,RECEIVE_MMSSMS消息权限READ_EXTERNAL_STORAGE,WRITE_EXTERNAL_STORAGE外部存储权限动态权限申请步骤AndroidMainfest.xml文件配置<uses-permissionandroid:name="android.permission.ACCESS_MEDIA_LOCATION"/>
<uses-permissionandroid:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>动态权限申请步骤判断Android系统版本在官方的文档中,低于API23是不需要使用动态权限申请的,如果是Android6.0以上的系统,需要进行判断if(Build.VERSION.SDK_INT>=23){
//此处做动态权限申请
}
else{
//低于23不需要特殊处理
}动态权限申请步骤检查权限如果版本高于23,则需要检查一下有没有权限
使用ContextCompat.CheckSelfPermission参数:一个上下文Context和一个权限的名称。返回:PERMISSION_GRANTED存在权限以及PERMISSION_DENIED不存在权限申请权限如果发现CheckSelfPermission返回值是PERMISSION_DENIED,则需要使用ContextCompat.requestPermission进行权限申请ActivityCompat.requestPermissions(this,newString[]{Manifest.permission.READ_CONTACTS},REQUEST_CODE);
动态权限申请步骤申请权限参数说明:当前上下文。一个权限数组,还有一个唯一的请求码,注意这个请求码要大于0,低于65535,因为程序要求请求码只能是16位的数据。权限数组是可以一次申请多个权限的,由于这个权限请求是异步操作的,所以说,用户判断权限后需要回调函数,那么就用到这个请求码了if(Build.VERSION.SDK_INT>=23){
if(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)==PackageManager.PERMISSION_GRANTED){
try{
writeFile();
}catch(IOExceptione){
e.printStackTrace();
}
}else{
requestPermissions(newString[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},666);
}
}动态权限申请步骤申请权限参数说明:当前上下文。一个权限数组,还有一个唯一的请求码,注意这个请求码要大于0,低于65535,因为程序要求请求码只能是16位的数据。权限数组是可以一次申请多个权限的,由于这个权限请求是异步操作的,所以说,用户判断权限后需要回调函数,那么就用到这个请求码了@Override
publicvoidonRequestPermissionsResult(intrequestCode,@NonNullString[]permissions,@NonNullint[]grantResults){
super.onRequestPermissionsResult(requestCode,permissions,grantResults);
if(requestCode==666){
if(grantResults[0]==PackageManager.PERMISSION_GRANTED){
Log.i("PERMISSION","写文件权限已授予");
try{
writeFile();
}catch(IOExceptione){
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 押新高考卷 生物技术与工程含解析-备战2024年高考生物临考题号押题(新高考)
- 《第8单元 数学广角-搭配(一):简单的组合》教案(附导学案)
- 扶助大学生协议书
- 执业兽医资格考试基础科目分类模拟9
- 学习遵循企业和专家座谈会上重要讲话全面深化改革心得体会
- 2024年上海市房屋租赁合同范本写
- 2023北京大兴区高一下学期期末生物试题及答案
- 消防工程施工合同范本
- 正规法律服务合同
- 空调护栏安装合同书
- 浙人美2011版四年级美术下册《落日》评课稿
- 项目后评价工作指引
- 2023山东省药学科学院招聘16人高频考点题库(共500题含答案解析)模拟练习试卷
- GB/T 42615-2023在用电梯安全评估规范
- 三年级下册英语说课稿-Unit 10 Is he a farmer Period 3 湘少版(三起)
- 畜牧兽医专业调研报告
- TQGCML 737-2023 燃气轮机涡轮叶片铂铝涂层技术
- “悦”劳动 越幸福-以“包粽子活动”为例探究劳动教育意义 论文
- 初中生物实验课说课课件文档
- IBM-新奥集团核心流程设计报告
评论
0/150
提交评论