Как только я нажму на любую ссылку, "сдвинуть дважды, чтобы выйти из приложения" станет бесполезным
import 'package:flutter/material.dart';
import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';
import 'package:fluttertoast/fluttertoast.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) :super(key: key);
final String title;
@override
State<StatefulWidget> createState() => new _HomePageState();
}
class _HomePageState extends State<MyHomePage> {
DateTime _lastPressedAt;
FlutterWebviewPlugin flutterWebviewPlugin = FlutterWebviewPlugin();
Future<bool> _onWillPop() {
return showDialog(
context: context,
builder: (context) =>
new AlertDialog(
title: new Text('tip'),
content: new Text('sure?'),
actions: <Widget>[
new FlatButton(
onPressed: () => Navigator.of(context).pop(false),
child: new Text('no'),
),
new FlatButton(
onPressed: () => Navigator.of(context).pop(true),
child: new Text('yes'),
),
],
),
) ?? false;
}
@override
Widget build(BuildContext context) {
return new WillPopScope(
onWillPop: () async {
if (_lastPressedAt == null ||
DateTime.now().difference(_lastPressedAt) > Duration(seconds: 1)) {
Fluttertoast.showToast(
fontSize: 12.0,
msg: "one more time to exit",
toastLength: Toast.LENGTH_SHORT,
timeInSecForIos: 1,
gravity: ToastGravity.CENTER,
);
_lastPressedAt = DateTime.now();
return false;
}
return true;
},
child:new WebviewScaffold(
appBar: new AppBar(
title: new Text("google"),
),
url: "https://www.google.com/",
),
);
}
}
Кажется, это работает нормально, но у меня остается одна проблема: как только я нажимаю любую ссылку, например " https://www.google.com/doodles/", функция, которая дважды сдвигается для выхода из приложения, становится бесполезной. как это исправить?
Я думаю, потому что функция возврата Android конфликтует с функцией, которая скользит вперед или назад внутри плагина webview. тогда как отключить внутреннюю функцию вручную?