PermissionX一个bug

小心

使用第三方库时,一定要注意与自己业务逻辑是否匹配。

一、起因

Andriod 6.0开始android使用了动态申请权限,系统提供的方法不够直观,所以寻找一些封装好,好用的第三方库。项目一直是使用Acp库来进行权限申请,可是作者不维护了,存在的崩溃也不解决了。只能另辟蹊径,找来找去,发现PermissionX的口碑不错。同时我也是学《第一行代码》入行android。很愉快地决定了。

二、问题

使用中,就碰到前面图片中的问题。当一个页面中,同时发起两次授权,那么第二个申请就直接返回成功。猜测,同时发起N个请求,那么除了第一个,其他的都会直接返回成功。
这个作者回复是说是非法操作。 然后果断的修改了业务逻辑。(不然就没有办法了)

三、无解

最近后碰到了一个问题,在vivo的Android7上,打开应用后,就会去申请

android.permission.READ_PHONE_STATE

的权限。而此时使用PermissionX进行申请权限,那么就会直接进入成功的回调。其实这个时候授权的弹窗还停留在READ_PHONE_STATE。
导致不能够进行正常的权限申请。

四、解决方法

在进入应用的首页,采用andriod系统的方式进行授权的申请。
此时想到PermissionX作者回复的非法,我觉得是不对的。采用android系统提供的动态权限申请方法,不存在授权窗口还未提示,就直接回调成功。

// END 合适自己的才是最好的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,850评论 2 59
  • 一、前言: 在开始介绍PermissionX的具体用法之前,我们先来讨论一下它的实现原理。 其实之前并不是没有人尝...
    因为我的心阅读 8,665评论 1 4
  • 本地广播和全局广播的区别 BroadcastReceiver 是跨应用广播,利用Binder机制实现,支持动态和静...
    纵横Top阅读 1,225评论 0 1
  • *本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 运行时权限 Android 6.0,代号Ma...
    Epeius阅读 26,094评论 16 32
  • [TOC]建议就是在面一家公司之前了解好这个公司的app是以什么为驱动的,例如电商的话肯定要了解hybrid 开发...
    Jacinth阅读 688评论 0 1