Coder Social home page Coder Social logo

permissions4m's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

permissions4m's Issues

PermissionWrapper的弱引用被回收

使用listener方式,在onRequestPermissionsResult回调处理中,发现wrapperMap内维护的PermissionWrapper弱引用被回收,导致wrapper = reference.get() 返回null,不执行回调的bug。

在三星galaxy NOTE3测试不行

不确定是不是只支持国产手机,今天用三星试了下。三星galaxy note3,5.0版本系统,试下来不起作用。申请的权限直接就过了,没有触发用户人工授权的流程。

联想ZUK7.0 权限申请有问题

联想ZUK7.0 首次申请权限 点击允许;
进去APP ,又申请权限弹窗 ’前往设置设置’,点击 ‘前往设置 ' 但是发现此时app定位权限已经允许了的;
返回,一直弹窗 ‘前往设置’ ;

2:首次权限申请无论点击禁止还是点击允许,进入app需要定位权限无法识别,弹窗 ‘前往设置’,允许了也没作用。

魅族手机manufacturer

魅族手机获取到的manufacturer ‘Meizu’影响了权限判断的逻辑,建议加上大小写忽略

魅蓝5S无法检测相机权限

本人手机魅蓝5S,安卓6.0,测试了一下DEMO发现有几个权限检查是错误的。测试时先安装demo,然后去权限管家里面把所有权限禁止,测试发现只有录音、手机状态读取和地理位置三个权限能正常检测到,其余的权限都显示授权成功,尤其是相机权限都检测错误,这个问题有点严重啊,但是还是感谢房主,解决了三个权限的检测问题。

三星

请问对于三星权限申请支持的好么?

PermissionsChecker的问题

PermissionsChecker类的isNumberIndexInfoIsNull方法判断cursor.getCount() > 0,当手机没有短信或者没有联系人时,即使给了权限也会判断为没有权限

6.0以下oppo手机问题

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

魅族Pro6 定位权限

经测试,还是提示授权成功,但是还是定位失败返回(百度地图)167错误代码(定位没有给权限)

bug

在onResume方法中申请权限的话,会一直循环调用onResume方法

请教下作者关于targetSDKVersion<23时,动态判断权限的问题:)

1.作者所说的刺激危险区代码是指什么?
2.我们的应用中,TargetSDKVersion<23,各下兼容到16,按照您权限库中的判断方法是否能正确返回应用是否真正地拥有某个危险权限呢? 看了其他几个比较出名的库,默认在小于23时,权限直接返回true了.
(我们应用中需要读取通话记录与短信,而且是必须读到才能允许下一步操作)

.requestForce(true)不强制弹框

哎呀呀,coolpad Y91-921 android版本5.1.1,加上.requestForce(true),不强制弹框,吐司获取权限成功之后,在设置查看还是询问状态,是不是coolpad手机太屌了,手上没有其他手机,但是5.0的虚拟机也不强弹框。。

魅蓝note5 Android7.0

魅蓝note5,Android7.0,一直提示拨打电话权限成功,在设置里面禁止了拨打电话权限还是一样,
ContextCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE);一直返回0,也就是有权限

不能用在module里面

这个不能用在module里面,只能用在app中,
用在module里 java.lang.NullPointerException: Attempt to invoke interface method 'void com.joker.api.wrapper.AnnotationWrapper$PermissionsProxy.granted(java.lang.Object, int)' on a null object reference
有什么办法可以放在下层module的gradle中吗?

我还没看代码

就冲你文章里面那两个被形容成**的角色我得给你颗星星。

读取联系权限

vivo6.0系统,读取联系权限关闭,APP跳转联系人界面。

For M 是否可以考虑去掉?

具体的权限检查是针对M及以上,但事实上国内手机在M以下,也自己整了一套权限管理。比如魅蓝2,ContextCompat.checkSelfPermission() 也只是检查Manifest里面有没有声明权限,而实际上,比如录音,在真正开始录音的时候才弹出一个系统的权限申请框。所以建议针对锅内手机的话,For M其实没有意义,干脆取消版本的控制。

多个权限问题

我那个是申请存储权限、摄像头、录音权限
其实存储权限会同时申请
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.MOUNT_UNMOUNT_FILESYSTEMS
这三个权限是一组,因给一个requestcode
摄像头权限:
Manifest.permission.CAMERA
使用一个requestcode

录音权限
Manifest.permission.RECORD_AUDIO
使用一个request code

相当于这三组权限涉及5个权限,但是只想用3个code能做到吗

小米手机自动禁止权限如何解决?

在小米手机中会自动禁用一些权限,例如修改短信、通知类短信、读取联系人等权限,但回调的却是permissionGranted申请成功,这个该如何解决,感谢~

oppoR9 Android 5.1 ,无效

下载了demo。oppo r9挨个点击,都toast授权成功,无任何弹框,去看了授权管理,并没有成功, 三星S6在拒绝后,再次点击会弹框授权提示,是没问题的,换到oppoR9, 第一次会有请求权限,点击拒接后,再次点击按钮,会调用授权成功的方法 toast 授权成功,但不会执行成功后的方法,也没有弹框(正常情况下应该是第一次拒绝,第二次点击会弹框的吧,S6测试正常),我说的有点啰嗦,也就是S6成功 oppoR9不行,s6是6.0.1,r9 5.1。 有没看懂的回复我哦,我在说一下,表达的有点不清晰。

2.1.2版本库上listener同步权限申请失效

compile 'com.github.jokermonn:permissions4m:2.1.2-lib'
annotationProcessor 'com.github.jokermonn:permissions4m:2.1.2-processor'
更新大神这个小版本之后,使用listener回调同步申请读取通讯录权限和读取短信权限时弹出获取通讯录权限对话款,同时回调了权限获取成功方法(通讯录和短信均被回调成功获取,此时未点击同意授予权限);
在2.1.1的版本库上未现此问题;
使用环境MIUI8.2,android5.0.2

魅族 魅蓝 note2 SDK5.1 定位权限

魅族 魅蓝 note2 android版本 5.1 :申请定位权限没有弹窗 返回是成功的 当运行到定位的业务逻辑块时会弹出系统提供的定位权限弹窗

华为P8Max问题

Activity
通话记录(注解)拒绝权限后 提示读取授权成功。

回调有问题

大神你好, 我在使用的过程中, 注解的方式 好是好, 但是侵入性太强了, 所以我使用的是 listener 的方式 .抽取了一个 PermissionManager 的管理类 来进行统一处理. 在 小米5SP 上面进行测试的时候发现 1,第一次申请权限必定会调用到 requestCustomRationaleListener 的回调, 但是 demo 上面就不会 , 是没更新吗? 2,在调用到 requestCustomRationaleListener 后的结果不会调用到 .requestListener(newListenerWrapper.PermissionRequestListener() {} 的方法中, 就是说, 我申请多个权限的时候如果有一个 没有结果 需要 提示 ,那我在提示中调用如下代码.
Permissions4M.get(activity)
.requestOnRationale()
.requestPermissions(permission)
.requestCodes(code)
.request();
的时候 在ListenerWrapper.PermissionRequestListener回调不到结果 ,这是怎么回事?

直接报空指针

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.sokal.zouhonglive, PID: 20155
java.lang.NullPointerException: Attempt to invoke interface method 'void com.joker.api.wrapper.AnnotationWrapper$PermissionsProxy.granted(java.lang.Object, int)' on a null object reference
at com.joker.api.apply.NormalApplyPermissions.grantedWithAnnotation(NormalApplyPermissions.java:27)
at com.joker.api.wrapper.AbstractWrapper.requestPermissionWithAnnotation(AbstractWrapper.java:315)
at com.joker.api.wrapper.AbstractWrapper.request(AbstractWrapper.java:203)
at com.sokal.zouhonglive.view.MainActivity.requestPermission(MainActivity.java:145)
at com.sokal.zouhonglive.view.MainActivity.onClick(MainActivity.java:123)
at com.sokal.zouhonglive.view.MainActivity_ViewBinding$3.doClick(MainActivity_ViewBinding.java:60)
at butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:22)
at android.view.View.performClick(View.java:4848)
at android.view.View$PerformClick.run(View.java:20262)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5644)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)

MeiZu Pro6部分没用

我用MeizuPro 6把权限全部禁止后
除了 录音(自定义rationale)
含PageListener的权限申请(读取手机状态权限)
地理位置(注解)
这三项可用(会有提示说无权限)
其他都误报权限申请成功

这个方法判断定位权限走不通

你好,非常欣喜能看到你这样适配国内厂商的定位权限,我比较关注定位权限这一块,因为我们对APP定位权限要求比较高,而我利用系统的权限校验通常在国内厂商上不准确,看到你的逻辑是获取到了权限之后再调一次getLastKnownLocation,如果返回null说明还是没有给权限,初看之下这个逻辑非常惊喜,但是看了官方文档后发现有一种情况规避不了,那就是把GPS关掉它也会返回null。

Returns a Location indicating the data from the last known location fix obtained from the given provider.
This can be done without starting the provider. Note that this location could be out-of-date, for example if the device was turned off and moved to another location.
If the provider is currently disabled, null is returned.

所以这个判断还是不准确的,还是考虑下有没有别的途径。多谢你的分享。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.