FLUTTER JUST_AUDIO导航器.播放结束后推送不起作用



我正在使用Just_Audio包。它一直工作得很好,但现在我希望当它播放完时,如果用户还没有付款,应该打开付款屏幕。

这是代码:

void closeScreen() {

final _userHasPaid =
Provider.of<User>(context, listen: false).user.testPaid;
print("USER PAID = ${_userHasPaid}");
if (_userHasPaid == false && widget.breathwork.breathType == "F") {
print("got here");
Navigator.push(
context,
MaterialPageRoute(
builder: (context) {
print(" and got here");
return PaymentsScreen();
},
),
);
}
disposeAudio();
print("should pop now");
Navigator.pop(context);

}

在我介绍Navigator.push之前,一切都很好,并用Navigator.php关闭了屏幕。然而,一旦我添加了推送代码,我就无法获得PaymentsScreen,而且最后的Navigator_pop也不再工作。

我确实在控制台上看到了以下内容的打印:打印用户付费打印到这里打印现在应该弹出

但不适用于:打印到了。

任何帮助都将不胜感激,谢谢

您不能同时调用Navigator.push和pop函数,您必须转到付款页面,然后在付款完成后从那里弹出,并添加disposeAudio((;推送至支付页面之前的功能

void closeScreen() {
disposeAudio();
final _userHasPaid =
Provider.of<User>(context, listen: false).user.testPaid;
print("USER PAID = ${_userHasPaid}");
if (_userHasPaid == false && widget.breathwork.breathType == "F") {
print("got here");
Navigator.push(
context,
MaterialPageRoute(
builder: (context) {
print(" and got here");
return PaymentsScreen();
},
),
);
}

最新更新