Sam*_*ord 7 plugins flutter url-launcher
我正在尝试使用 Flutter 的url_launcher插件来打开网页。
当我单击按钮 url_launcher 时,成功打开网页。但是,如果我随后通过向左滑动或使用软后退按钮导航回来,应用程序就会崩溃。日志说
java.lang.RuntimeException:无法销毁活动{uk.co.pottertour.map_edinburgh_guide_airbnb/io.flutter.plugins.urllauncher.WebViewActivity}:java.lang.IllegalArgumentException:接收器未注册:io.flutter.plugins.urllauncher.WebViewActivity$1 @8152196
它说 WebViewActivity 所以大概 Url_Launcher 没有打开外部浏览器,而是打开应用程序内的 Webview。
这非常关键,这个应用程序基本上是令人兴奋的事情的中心。
我怀疑是我的didChangeAppLifecycleState函数导致了错误,因为它是在恢复时发生的,但不是,这是在 Flutter 运行构建并重建屏幕时发生的。
我尝试注释掉我的构建过程中包含 url_launcher 链接的部分,相信重建触发了它,但这没有帮助。也许有一些后台异步进程会在应用程序绘制到屏幕之前引发此错误。与 url_launcher 相关。
我遇到了同样的问题,如果您不想使用 url_launcher (https://pub.dev/packages/url_launcher#browser-vs-in-app-handling)进行应用内处理,我建议您使用此解决方案:
Future<void> _launchUrl(Uri url) async {
if (!await launchUrl(url, mode: LaunchMode.externalApplication)) {
throw Exception('Could not launch $url');
}
}
Run Code Online (Sandbox Code Playgroud)
使用mode: LaunchMode.externalApplication该链接将在您的应用程序外部打开,并且当您导航回应用程序时应该不会有任何问题。
| 归档时间: |
|
| 查看次数: |
1335 次 |
| 最近记录: |