-
今天用红米note7 测试时,突然发现,摄像头权限拒绝时,Activity的onResume执行了。一般来讲弹窗dialog的打开和关闭是不触发onResume()的。
-
原因:和这个库:RxPermissions有关。
-
现在的话,会引起一个问题:当权限被拒绝,我们一般会给个提示框,让客户去打开权限,客户打开权限后,返回到我们的APP,APP需要检查权限,如果权限允许了,就关闭那个提示框,如果没允许,就再次发起权限请求。这段逻辑如果写在onResume里面,就会出现:onCreate–>申请权限–》客户点击拒绝,权限弹窗关闭–》onResume–>检查权限,未同意,再次申请权限–》客户点击拒绝…死循环,且提示框无法弹出,因为被onResume打断了。
-
解决办法是把逻辑写到onStart()里面,系统权限弹窗关闭时,就不会触发这段逻辑了。
Android系统自带的权限弹窗关闭时会触发onResume
最新推荐文章于 2024-07-12 03:55:27 发布