在激光推送Flutter插件中,有如下一个API:
applyPushAuthority
,注释原话是这样的:申请推送权限,注意这个方法只会向用户弹出一次推送权限请求(如果用户不同意,之后只能用户到设置页面里面勾选相应权限),需要开发者选择合适的时机调用。
业务需要我们根据推送权限的开关逻辑来判定是显示系统的权限提醒还是自定义的权限提醒,因此我仅仅是首次启动时调用applyPushAuthority
,之后就该方法就不调用了,使用自定义的权限提醒。
但这就带来一个问题:
前台收到推送后没有通知弹窗,但还是可以看到推送日志
扒源码发现,applyPushAuthority
的作用并非仅仅如注释所说,还有如下一个重要功能
它每次调用也会注册一个监听,该监听的作用就是在前台收到通知时显示弹窗