Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

在申请权限的过程中切换横屏,会失去回调响应。 #51

Closed
xiazunyang opened this issue Dec 8, 2020 · 4 comments
Closed

Comments

@xiazunyang
Copy link

只需要打开屏幕旋转开关,在弹出权限对话框后,把手机横过来,等所有权限申请结束后,Activity接收不到任何响应。
使用项目中的演示app就可以还原,如视频所示:
点击下载视频

@limuyang2
Copy link

用Fragment作为中间件的权限处理库共同缺陷,基本很难解决。坐等官方新的API,已经RC了,快了

@guolindev
Copy link
Owner

确实,我也想过解决这个问题,但是无奈横竖屏一切换,Activity就会销毁,而且之前设置的回调会丢失,这种情况下只能重新请求一遍权限。

官方的ActivityContract API如果能解决这个问题,到时候我会基于新的API重构PermissionX。

@wu162
Copy link

wu162 commented May 6, 2021

确实,我也想过解决这个问题,但是无奈横竖屏一切换,Activity就会销毁,而且之前设置的回调会丢失,这种情况下只能重新请求一遍权限。

官方的ActivityContract API如果能解决这个问题,到时候我会基于新的API重构PermissionX。

可以尝试使用viewmodel将隐形fragment里的回调保存来解决?不过可能会有一些兼容性问题。

guolindev added a commit that referenced this issue Sep 26, 2021
fengjixuchui added a commit to fengjixuchui/PermissionX that referenced this issue Sep 26, 2021
@guolindev
Copy link
Owner

PermissionX已全面替换成官方新的ActivityContract API,但是并不能解决这个问题,新API也不是为了解决这个问题而推出的。

现在的解决方案是PermissionX在请求开始的时候会锁定屏幕旋转,这样就不会出现旋转屏幕时回调丢失了。然后请求解决后会恢复原来的屏幕锁定模式,这是我能想到的最好的一种解决方案了。

代码已提交,会随着下个1.6.0版本发布解决此问题。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants