- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
本章教学目标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(newSt
您可能关注的文档
- Android开发技术 - - PDF处理.pptx
- Android开发技术 - - WebView的使用.pptx
- Android开发技术 - - 动画.pptx
- Android开发技术 - - 日志系统.pptx
- Android开发技术 - - 图片处理.pptx
- Android开发技术 - - 文件上传下载.pptx
- Android开发技术 - - 系统资源监视.pptx
- Android开发技术 - - 消息推送.pptx
- Android开发技术 - - 用户行为监视.pptx
- 2024年05月山东烟台市蓬莱区卫健系统事业单位招考聘用41人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东交通职业学院招考聘用博士研究生50人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽芜湖市弋江区老年学校(大学)工作人员特设岗位公开招聘2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东东营河口区教育类事业单位招考聘用22人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东交通职业学院招考聘用100人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东威海职业学院招考聘用高层次人才2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽石台县事业单位工作人员33人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东滨州市博兴县事业单位公开招聘考察笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽蚌埠固镇县湖沟镇选聘村级后备干部7人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东省安丘市教育和体育局所属事业单位学校公开2024年招考232名工作人员笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东临沂临港经济开发区工作人员(5人)笔试历年典型题及考点剖析附带答案含详解.docx
文档评论(0)