12 Star 21 Fork 6

LuoWK / RTPermission

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 4.10 KB
一键复制 编辑 原始数据 按行查看 历史
LuoWK 提交于 2018-06-01 11:08 . deprecated

[Deprecated]

推荐使用AndPermission

RTPermission

Android6.0 运行时权限申请工具,Android Marshmallow runtime permission utils

RTPermission

想了解该项目可参考下面的博客:
http://www.jianshu.com/p/1841a74543c1
http://blog.csdn.net/lwk520136/article/details/72621729

前言

Android6.0发布后带来的运行时权限机制,使得开发者的工作又多了一点,在程序需要使用到9类敏感权限时必须去动态申请权限使用权,然而按照标准写法实在是太繁琐了,要是每一个权限都写一大堆申请步骤,我估计开发者分分钟暴走。所以,封装一个统一的请求框架是很有必要的,RTPermission就是为了简化申请步骤而做的,有需要的可参考一下,欢迎star和fork。

使用方式:

【最新版本号以这里为准】

1. Gradle中引入库

    #last-version请查看上面的最新版本号

    #AndroidStudio3.0以下
    compile 'com.lwkandroid:RTPermissionLib:last-version'

    #AndroidStudio3.0以上
    implemetation 'com.lwkandroid:RTPermissionLib:last-version'

2. 代码中调用

          new RTPermission.Builder()
                          .permissions(String... permissions)
                          .start(Activity activity, new OnPermissionResultListener()
                          {
                               @Override
                                public void onAllGranted(String[] allPermissions)
                               {
                                   //所有权限都已获得使用权后的回调
                               }

                               @Override
                               public void onDeined(String[] dinedPermissions)
                               {
                                   //有权限未获得使用权的回调
                               }
                         });

效果图



混淆配置

-dontwarn com.lwkandroid.rtpermission.**
-keep class com.lwkandroid.rtpermission.**{*;}

附录:9大组需要适配的权限

//通讯录权限组
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
Android
1
https://gitee.com/vanish136_admin/RTPermission.git
git@gitee.com:vanish136_admin/RTPermission.git
vanish136_admin
RTPermission
RTPermission
master

搜索帮助