我正在使用 WebviewScaffold。Android 设备后退按钮按预期工作,即如果我不与 Webview 内容交互,它将退出应用程序。但是,在 Webview 内部触摸时 - 设备后退按钮不起作用 - 我被困在 Webview 页面上。通过 WillPopScope 检查,我可以看到 Navigator.canPop 在两种情况下都返回 false - 因此应用程序没有任何东西可以路由回,但它仍然停留在 Web 视图页面上,而不是在第二个实例中退出。任何帮助,将不胜感激。
示例代码如下所示。
重现步骤
- 在安卓上运行
- 当 Web 视图加载时,使用设备后退按钮 - 这会退出应用程序
- 再次运行,这次触摸网页视图页面内部
- 使用设备后退按钮,现在卡住了,不退出应用程序
import 'package:flutter/material.dart';
import 'package:flutter_webview_plugin/flutter_webview_plugin.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
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return WebviewScaffold(
url: 'https://www.google.co.uk',
);
/*return WillPopScope(
onWillPop: () async {
var canPop = Navigator.canPop(context);
print(canPop);
return true;
},
child: WebviewScaffold(
url: 'https://www.google.co.uk',
),
);*/
}
}
发布规范.yaml
name: webview_scaffold_test
description: A new Flutter project.
publish_to: 'none'
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter_webview_plugin: ^0.3.0+2
flutter:
sdk: flutter
cupertino_icons: ^1.0.1
dev_dependencies:
flutter_test:
sdk: flutter
integration_test:
sdk: flutter
flutter:
uses-material-design: true