permissions4m icon indicating copy to clipboard operation
permissions4m copied to clipboard

6.0以下oppo手机问题

Open ice45571 opened this issue 7 years ago • 4 comments

oppo手机有自己一套授权机制 请求时使用了requestUnderM(true) 所以 image 肯定是走第一个if语句块,并且因为清单文件声明权限了所以PermissionsChecker.isPermissionGranted(getActivity(), getRequestPermission()) = true,会走 NormalApplyPermissions.grantedWithAnnotation(this);,这就导致用户拒绝授权时候依然走授权成功的方法

ice45571 avatar Sep 13 '17 08:09 ice45571

马上发布下一版本,望前辈帮忙将 oppo 5.0+ 测试好~

jokermonn avatar Sep 13 '17 08:09 jokermonn

可以试试重构isPermissionGranted 以小米联系人为例,如果用户拒绝时读取联系人数据为空,通过添加一条联系人后读取联系人,如果联系人数据>0则再走 grantedWithAnnotaion 否则直接走 denied... 加油

ice45571 avatar Sep 13 '17 08:09 ice45571

感谢前辈,这个思路超级赞!

jokermonn avatar Sep 13 '17 08:09 jokermonn

前辈,关于

并且因为清单文件声明权限了所以PermissionsChecker.isPermissionGranted(getActivity(), getRequestPermission()) = true

这个问题,我在 permissions4m 上是做了强制的权限申请,oppo 5.0+ 走到了成功函数是因为我限定了 5.0+ 的手机是小米和魅族的才会申请(之前不知道 oppo 会有 5.0+ 权限申请)。新 demo 是已经更新了的,您可以帮忙测试下,下一版本会修复这个问题

jokermonn avatar Sep 14 '17 00:09 jokermonn