美文网首页
简单的权限申请工具类

简单的权限申请工具类

作者: 佐以言 | 来源:发表于2018-12-19 16:33 被阅读21次

    最近由于工作,需要对老项目进行项目改造,在改造过程中,项目使用的权限申请为PermissionsDispatcher,由于使用编译时注解原因,使用并不是很顺手(纯粹个人爱好,无其他原因)。
    借助 Fragment 的易用性,结合之前分析过的架构组件源码,决定采用相似的方式通过 Fragment 进行权限的申请从而降低代码的复杂度。

    权限检测

    权限检测

    简单封装了一下对权限的判断。

    Fragment 中的权限申请

    Fragment 中的权限申请

    在 Fragment 中进行权限申请较为简单,与 Activity 中申请一致,主要就是提供了一个外部调用方法来进行权限申请。

    权限申请的判断

    对于宿主权限申请的判断

    主要流程为以下几个步骤:

    1. 判断是否获取到该权限,若获取到或者被禁止获取则直接调用回调通知;
    2. 在被禁止的情况下首先尝试获取 PermissionFragment 实例,若没有则添加,包括则继续;
    3. 通过 PermissionFragment 进行权限获取并回调

    在 Fragment 中获取权限方法类似,只是单单将 Activity 中的 SupportFragmentManager 替换为 Fragment 的 ChildFragmentManager 即可。

    至此一个简单的权限申请工具类就完成了,较原有的 PermissionDispatcher 更简洁且不需要依赖注解等其余工作,且方便日后对权限申请的扩展。

    相关文章

      网友评论

          本文标题:简单的权限申请工具类

          本文链接:https://www.haomeiwen.com/subject/yeijkqtx.html