问题现象
进入应用后,点击开始录屏,通知栏会显示应用正在录屏。点击系统胶囊按钮结束录屏,下拉查看通知栏,仍显示应用正在录屏。
背景知识
使用Notification Kit可以将应用产生的通知直接在客户端本地推送给用户,本地通知根据通知类型及发布场景会产生对应的铃声、震动、横幅、锁屏、息屏、通知栏提醒和显示。
分析结论
应用只在内部按钮的点击事件中设置关闭通知,导致当用户通过系统胶囊按钮取消录屏时,通知栏仍提示正在录屏。
修改建议
录屏结束触发的回调类型可以参考AVScreenCaptureStateCode。当录屏结束时,在screenCapture.on('stateChange')事件中判断录屏结束的原因,并添加notificationManager.cancel来主动关闭通知。