我使用颤振插件"flutter_webview_plugin“在我的应用程序中打开一个URL。问题是,在安卓系统中,你按下后退按钮,它就会“返回”,并在WebViewScaffold上无限显示进度指示器,直到你再次按后退按钮。
我尝试在构建器函数中添加以下代码:
flutterWebviewPlugin.onDestroy.listen((_) {
if (Navigator.canPop(context)) {
Navigator.of(context).pop();
flutterWebviewPlugin.dispose();
flutterWebviewPlugin.cleanCookies();
}
});
它适用于我第一次调用我的函数。但是,在第二次,它再次发生。
_launchURL() async {
String url = result;
if (await canLaunch(url)) {
Navigator.of(context).push(MaterialPageRoute(
builder: (ctx) => WebviewScaffold(
clearCache: true,
clearCookies: true,
withLocalStorage: false,
appCacheEnabled: false,
initialChild: Center(child: CircularProgressIndicator()),
url: url,
appBar: AppBar(title: Text("Fichas DoggyStyle")),
)));
flutterWebviewPlugin.onDestroy.listen((_) {
if (Navigator.canPop(context)) {
Navigator.of(context).pop();
flutterWebviewPlugin.dispose();
flutterWebviewPlugin.cleanCookies();
}
});
} else {
throw 'No pudimos abrir la ficha :(';
}
}
发布于 2019-02-20 06:42:29
尝试在小部件的initstate()中调用flutterWebviewPlugin.onDestroy.listen()
..。对我来说很好..。
https://stackoverflow.com/questions/54271932
复制相似问题