Android 6.0动态获取权限开源项目
来源:互联网 发布:全民淘宝客能挣钱吗 编辑:程序博客网 时间:2024/06/07 02:24
Android 6.0 相比之前的Android版本有一个很大的不同点,就是动态获取权限,即不仅在Manifest文件里设置各种权限,在使用一些危险权限时候还得动态的弹出个对话框让客户去选择授予这个权限。
基本内容和代码就不重复了,大家可以参考这一篇:
http://gudong.name/%E6%8A%80%E6%9C%AF/2015/11/10/android_m_permission.html
或者http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/1110/3670.html
需要动态赋予的权限列表是:
Permission Group
Permissions
android.permission-group.CALENDAR
· android.permission.READ_CALENDAR
· android.permission.WRITE_CALENDAR
android.permission-group.CAMERA
· android.permission.CAMERA
android.permission-group.CONTACTS
· android.permission.READ_CONTACTS
· android.permission.WRITE_CONTACTS
· android.permission.GET_ACCOUNTS
android.permission-group.LOCATION
· android.permission.ACCESS_FINE_LOCATION
· android.permission.ACCESS_COARSE_LOCATION
android.permission-group.MICROPHONE
· android.permission.RECORD_AUDIO
android.permission-group.PHONE
· android.permission.READ_PHONE_STATE
· android.permission.CALL_PHONE
· android.permission.READ_CALL_LOG
· android.permission.WRITE_CALL_LOG
· com.android.voicemail.permission.ADD_VOICEMAIL
· android.permission.USE_SIP
· android.permission.PROCESS_OUTGOING_CALLS
android.permission-group.SENSORS
· android.permission.BODY_SENSORS
android.permission-group.SMS
· android.permission.SEND_SMS
· android.permission.RECEIVE_SMS
· android.permission.READ_SMS
· android.permission.RECEIVE_WAP_PUSH
· android.permission.RECEIVE_MMS
· android.permission.READ_CELL_BROADCASTS
android.permission-group.STORAGE
· android.permission.READ_EXTERNAL_STORAGE
· android.permission.WRITE_EXTERNAL_STORAGE
下面是几个开源的项目,及它们的特点:
Android权限适配方案(API 4+)
http://blog.csdn.net/a1018875550/article/details/51525438
PermissionsDispatcher:使用注解的形式设置权限,
@RuntimePermissions 是必须的注册当前activity或fragment
@NeedsPermission 是必须要有的,在需要权限的方法上添加
@OnShowRationale 注释一个方法解释为什么需要这个权限并提示用户判断是否允许
@OnPermissionDenied 当权限被拒绝时调用
@OnNeverAskAgain 当用户勾选了不再提示时调用
优点:功能齐全,代码简洁。
缺点:配置较麻烦,必须在Android Studio 2.0+版本使用
PermissionGen:https://github.com/lovedise/PermissionGen
在需要权限的方法中加入需要权限的代码,然后覆盖onRequestPermissionsResult(),然后添加注解的方法@PermissionFail(),@PermissionSuccess(),编写响应的逻辑。
优点:配置简单,引用库即可,代码简洁
缺点:功能较少,目前只找到了允许和拒绝的回调
MPermission:https://github.com/hongyangAndroid/MPermissions
在上一个的基础上把运行时注解改成了编译时注解。需要解释会自动调用解释注解的方法@ShowRequestPermissionRationale()
RxPermission:https://github.com/tbruyelle/RxPermissions
代码比上面更简洁了一些,没有用注解,不需要覆盖onRequestPermissionsResult(),配置不麻烦,这个完全遵循Rx规则,功能上目前没有找到解释的回调(源码不多,个人感觉更改方便)。
RxView.clicks(findViewById(R.id.enableCamera))
.compose(RxPermissions.getInstance(this).ensure(Manifest.permission.CAMERA))
.subscribe(granted -> {
// R.id.enableCamera has been clicked
});
//If multiple permissions at the same time, the result is combined :
RxPermissions.getInstance(this)
.request(Manifest.permission.CAMERA,
Manifest.permission.READ_PHONE_STATE)
.subscribe(granted -> {
if (granted) {
// All requested permissions are granted
} else {
// At least one permission is denied
}
});
//You can also observe a detailed result with requestEach or ensureEach :
RxPermissions.getInstance(this)
.requestEach(Manifest.permission.CAMERA,
Manifest.permission.READ_PHONE_STATE)
.subscribe(permission -> { // will emit 2 Permission objects
if (permission.granted) {
// `permission.name` is granted !
}
});.
PermissionHelper:https://github.com/k0shk0sh/PermissionHelper
功能齐全,没有使用注解,配置简单,但需要实现OnPermissionCallback接口,实现里面的方法来动态设置权限。
- Android 6.0动态获取权限开源项目
- android 6.0 动态权限获取
- Android 6.0获取动态权限
- android 6.0权限动态获取
- Android 6.0权限动态获取
- Android动态获取权限
- Android 动态获取权限
- Android动态获取权限
- android 动态权限获取
- Android动态获取权限
- Android 6.0动态权限的获取
- Android新特性 - 6.0动态获取权限
- Android 6.0以上系统动态获取权限
- Android 动态获取权限(6.0 , 7.0)
- android 6.0 权限动态获取示例
- android 6.0 7.0动态获取权限
- Android M 动态权限获取
- Android M 动态权限获取
- nodejs 导出数据和文件压缩包
- Dalvik 与 ART
- 快速幂
- oracle日期转换
- linux目录结构详细介绍
- Android 6.0动态获取权限开源项目
- 禁止vim生成 un~文件
- tomcat配置摘要认证
- java设计模式之适配器设计模式
- 创建Fiddler4的插件(总结)
- Android 4.0以上设备的虚拟按键中menu键的显示问题
- 用户画像数据建模方法
- JDK安装源码src和doc
- 自制STM32F4最小系统烧写出现cannot reset error的解决方法