Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 在Flatter中,当在WillPopScope中包装整个应用程序时,不会调用onWillPop_Flutter_Dart - Fatal编程技术网

Flutter 在Flatter中,当在WillPopScope中包装整个应用程序时,不会调用onWillPop

Flutter 在Flatter中,当在WillPopScope中包装整个应用程序时,不会调用onWillPop,flutter,dart,Flutter,Dart,当按下android上的“后退”按钮时,应用程序将被终止。我希望我的整个应用程序都有一个功能,当按下后退按钮时,用户会收到一个通知,要求确认。如果他们确认,则最小化应用程序。所以我试着像孩子一样把整个“MaterialApp”包装在“Willposcope”里。但是,不会触发“onWillPop” void main() async { runApp( WillPopScope( child: MaterialApp( title: 'Test',

当按下android上的“后退”按钮时,应用程序将被终止。我希望我的整个应用程序都有一个功能,当按下后退按钮时,用户会收到一个通知,要求确认。如果他们确认,则最小化应用程序。所以我试着像孩子一样把整个“MaterialApp”包装在“Willposcope”里。但是,不会触发“onWillPop”

void main() async {
  runApp(
    WillPopScope(
      child: MaterialApp(
        title: 'Test',
        home: Frame(),
      ),
      onWillPop: () async {
        print('will pop!!!!!!!!!');
        return false;
      },
    ),
  );
}

你不应该让整个应用程序都使用这个。您应该使用希望在其上运行功能的每页小部件。围绕着你的页面的脚手架

我甚至不确定这是否是颤振特性/问题。如果你能做到这一点,你就可以有效地阻止用户关闭你的应用程序。我不认为操作系统会允许这样做。我不认为这是原因,因为你可以用
WillPopScope
包装每个页面,以实现相同的目标。我想,
WillPopScope
可能需要
MaterialApp
中的一些东西。它的工作方式很有魅力。非常感谢。