快速入门授权Android6.0权限教程!
前言:
Android6.0权限申请在网上虽然一搜一大堆,但是都写的太多太臃肿,而往往学习者都只是想快速去申请到6.0权限,而不是去了解它的由来,它的原因。今天,我就带给大家最简单的方式,简单到你只需要记住代码,复制拿来用就可以了。
1先了解一下,哪些权限在6.0以后是需要动态申请的
需要动态申请的权限:group:android.permission-group.CONTACTS
permission:android.permission.WRITE_CONTACTS
permission:android.permission.GET_ACCOUNTS
permission:android.permission.READ_CONTACTS
group:android.permission-group.PHONE
permission:android.permission.READ_CALL_LOG
permission:android.permission.READ_PHONE_STATE
permission:android.permission.CALL_PHONE
permission:android.permission.WRITE_CALL_LOG
permission:android.permission.USE_SIP
permission:android.permission.PROCESS_OUTGOING_CALLS
permission:com.android.voicemail.permission.ADD_VOICEMAIL
group:android.permission-group.CALENDAR
permission:android.permission.READ_CALENDAR
permission:android.permission.WRITE_CALENDAR
group:android.permission-group.CAMERA
permission:android.permission.CAMERA
group:android.permission-group.SENSORS
permission:android.permission.BODY_SENSORS
group:android.permission-group.LOCATION
permission:android.permission.ACCESS_FINE_LOCATION
permission:android.permission.ACCESS_COARSE_LOCATION
group:android.permission-group.STORAGE
permission:android.permission.READ_EXTERNAL_STORAGE
permission:android.permission.WRITE_EXTERNAL_STORAGE
group:android.permission-group.MICROPHONE
permission:android.permission.RECORD_AUDIO
group:android.permission-group.SMS
permission:android.permission.READ_SMS
permission:android.permission.RECEIVE_WAP_PUSH
permission:android.permission.RECEIVE_MMS
permission:android.permission.RECEIVE_SMS
permission:android.permission.SEND_SMS
permission:android.permission.READ_CELL_BROADCASTS
大家肯定会发现,权限都是一组一组的,是的,就是这样的没错。
如果你申请上述某个权限,假设你的app早已被用户授权了同一组的某个权限,那么系统会立即授权,而不需要用户去点击授权。比如你的app对READ_CONTACTS已经授权了,当你的app申请WRITE_CONTACTS时,系统会直接授权通过。此外,对于申请时弹出的dialog上面的文本说明也是对整个权限组的说明,而不是单个权限,这点需要注意。PS:上面没写到的权限,都可以直接静态注册了。
1正题!添加依赖
这里借助了第三方写好的封装权限框架,可以帮助我们快速完成权限的申请!先不要了解为什么,照着做就行!我们的目的是为了完成这个功能。
1、在build.gradle(app)中添加如下代码
apply plugin: 'com.neenbedankt.android-apt'
apt 'com.zhy:mpermission-compiler:1.0.0'
compile 'com.zhy:mpermission-api:1.0.0'
2、在build.gradle(自己项目)中添加如下代码
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
添加完成之后,我们Sync Now一下,就行了
2在清单文件AndroidManifest.xml中静态注册要使用的权限
这里我做为案例,完成一个网络加载图片到本地。需要用到:网络权限,储存访问权限
3在MainActivity中添加逻辑代码,实现动态注册申请权限
通俗说法,就4个固定写法,记住了,你就搞定了!大家动动手指敲一敲,是不是简单到爆?而且敲一次,就可以直接复制循环使用了。有朋友说上面的图看不清楚,这里非常抱歉,大家右键图片另存为桌面上,然后打开看,就很清晰了。。
下面我们运行程序试试效果!
点击加载图片
成功!!!!!!!!!!!!!
好了,教程就到这里。如果你学到了,麻烦大家评论给个鼓励,谢谢了。。。