Flutter 在Flatter中,当在WillPopScope中包装整个应用程序时,不会调用onWillPop
当按下android上的“后退”按钮时,应用程序将被终止。我希望我的整个应用程序都有一个功能,当按下后退按钮时,用户会收到一个通知,要求确认。如果他们确认,则最小化应用程序。所以我试着像孩子一样把整个“MaterialApp”包装在“Willposcope”里。但是,不会触发“onWillPop”Flutter 在Flatter中,当在WillPopScope中包装整个应用程序时,不会调用onWillPop,flutter,dart,Flutter,Dart,当按下android上的“后退”按钮时,应用程序将被终止。我希望我的整个应用程序都有一个功能,当按下后退按钮时,用户会收到一个通知,要求确认。如果他们确认,则最小化应用程序。所以我试着像孩子一样把整个“MaterialApp”包装在“Willposcope”里。但是,不会触发“onWillPop” void main() async { runApp( WillPopScope( child: MaterialApp( title: 'Test',
void main() async {
runApp(
WillPopScope(
child: MaterialApp(
title: 'Test',
home: Frame(),
),
onWillPop: () async {
print('will pop!!!!!!!!!');
return false;
},
),
);
}
你不应该让整个应用程序都使用这个。您应该使用希望在其上运行功能的每页小部件。围绕着你的页面的脚手架我甚至不确定这是否是颤振特性/问题。如果你能做到这一点,你就可以有效地阻止用户关闭你的应用程序。我不认为操作系统会允许这样做。我不认为这是原因,因为你可以用
WillPopScope
包装每个页面,以实现相同的目标。我想,WillPopScope
可能需要MaterialApp
中的一些东西。它的工作方式很有魅力。非常感谢。