WebView网址更改后,后退按钮拦截器无法正常工作

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (79)

我试图在应用程序执行期间阻止手机后退按钮,在开始工作时但是当我的网页视图上的网址更改时,后退按钮在触发时保持运行

我正在尝试这个dart插件:https//pub.dartlang.org/packages/back_button_interceptor#-readme-tab-

   @override
   Widget build(BuildContext context) {

final fPlugin = new FlutterWebviewPlugin();

fPlugin.onUrlChanged.listen((String url) {
  setState(() => initState());
  print("new URL: " + url);
});

return MaterialApp(
      title: "Webview",
      theme: ThemeData.dark(),
      routes: {
        "/": (_) =>
            WebviewScaffold(
              url: mainURL,
              withLocalUrl: true,
              withJavascript: true,
              withLocalStorage: true,
              clearCache: false,
              clearCookies: false,
              withZoom: false,
              enableAppScheme: true,
            )
      });

}

我希望应用程序运行时可以阻止手机后退按钮

提问于
用户回答回答于

只需使用WillPopScope小部件来阻止设备后退按钮交互。它将阻止页面被系统弹出。你仍然可以使用Navigator.of(context).pop()

@override Widget build(BuildContext context) { return new WillPopScope( onWillPop: () async => false, child: new Scaffold( appBar: new AppBar( title: new Text("data"), leading: new IconButton( icon: new Icon(Icons.ac_unit), onPressed: () => Navigator.of(context).pop(), ), ), ), ); }

扫码关注云+社区

领取腾讯云代金券