Почему initState не работает после изменения URL в WebView? - PullRequest
1 голос
/ 24 апреля 2019

Я новичок во флаттере и пытаюсь заблокировать кнопку возврата телефона, она работает, когда приложение запускается, но когда я ищу что-то в google, например, и URL-адрес меняется, кнопка продолжает работать

Я пробовал WillPopScope, но у меня никогда не получалось

вот мое приложение

    import 'dart:io';
    import 'package:flutter/material.dart';
    import 'package:flutter_statusbar_manager/flutter_statusbar_manager.dart';
    import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';
    import 'package:back_button_interceptor/back_button_interceptor.dart';

    String mainURL = "http://google.com";
    void main() async {
      await FlutterStatusbarManager.setHidden(true, animation:StatusBarAnimation.SLIDE);
      runApp(MaterialApp(home: App()));
    }

    class App extends StatefulWidget {
      @override
      AppState createState() => new AppState();
    }

    class AppState extends State<App> {
      @override
      void initState() {
        super.initState();
        BackButtonInterceptor.add(btnInterceptor);
        final fWPlugin = new FlutterWebviewPlugin();

        fWPlugin.onDestroy.listen((_) => exit(0));

        fWPlugin.onUrlChanged.listen((String url) {
          print("URL: " + url);
        });
      }

      @override
      void dispose() {
        BackButtonInterceptor.remove(btnInterceptor);
        super.dispose();
      }

      bool btnInterceptor(bool stopDefaultButtonEvent) {
        return true;
      }

      @override
      Widget build(BuildContext context) {
        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,
                    )
              });
      }
    }

Я хочу, чтобы при поиске в проводнике кнопка «Назад» все еще была заблокирована`

1 Ответ

0 голосов
/ 24 апреля 2019

Это тоже не сработало для меня. Но я предлагаю вам перейти на https://github.com/fluttercommunity/flutter_webview_plugin/issues и отправить отчет о проблеме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...