![](/img/trans.png)
[英]I have a question about using Shared_Preferences in Flutter
[英]I have a question about using Webview in flutter
您好,我在 flutter 中链接 webview 时遇到问题,所以我想问一个问题。
首先,webview连接正常。 但是,当我单击 webview 中的另一个超链接时,应用程序本身将终止。
在这种情况下,我还有什么需要处理的吗?
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';
class MyHomePage extends StatefulWidget {
MyHomePage({Key key}) : super(key: key);
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
WebViewController _controller;
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: WebView(
initialUrl: 'https://www.notion.so/noteasy/915417f1fd964d1f92ad3bb6429b908a',
javascriptMode: JavascriptMode.unrestricted,
),
),
);
}
}
这是当我按下超链接并被强行终止时发生的日志。
D/EGL_emulation(28572): eglMakeCurrent: 0xeaff8800: ver 2 0 (tinfo 0xdfa52190)
D/eglCodecCommon(28572): setVertexArrayObject: set vao to 0 (0) 1 2
W/TextClassifierService(28572): Package or service not found in package com.google.android.as for user 0
E/InputMethodManager(28572): b/117267690: Failed to get fallback IMM with expected displayId=14 actual IMM#displayId=0 view=io.flutter.plugins.webviewflutter.InputAwareWebView{2e377eb VFEDHVC.. .F...... 0,0-1080,1731}
D/eglCodecCommon(28572): setVertexArrayObject: set vao to 2 (2) 0 0
D/AndroidRuntime(28572): Shutting down VM
E/AndroidRuntime(28572): FATAL EXCEPTION: main
E/AndroidRuntime(28572): Process: kr.noteasy.sheeps_app, PID: 28572
E/AndroidRuntime(28572): java.lang.NullPointerException: Attempt to read from field 'android.view.WindowManager$LayoutParams android.view.ViewRootImpl.mWindowAttributes' on a null object reference
E/AndroidRuntime(28572): at android.view.inputmethod.InputMethodManager.startInputInner(InputMethodManager.java:1625)
E/AndroidRuntime(28572): at android.view.inputmethod.InputMethodManager.checkFocus(InputMethodManager.java:1864)
E/AndroidRuntime(28572): at android.view.inputmethod.InputMethodManager.isActive(InputMethodManager.java:1183)
E/AndroidRuntime(28572): at io.flutter.plugins.webviewflutter.InputAwareWebView$1.run(InputAwareWebView.java:188)
E/AndroidRuntime(28572): at android.os.Handler.handleCallback(Handler.java:883)
E/AndroidRuntime(28572): at android.os.Handler.dispatchMessage(Handler.java:100)
E/AndroidRuntime(28572): at android.os.Looper.loop(Looper.java:214)
E/AndroidRuntime(28572): at android.app.ActivityThread.main(ActivityThread.java:7356)
E/AndroidRuntime(28572): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(28572): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
E/AndroidRuntime(28572): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
I/Process (28572): Sending signal. PID: 28572 SIG: 9
升级到最新的稳定版并使用最新的webview_flutter 0.3.22+1
。 它解决了我的问题。
为您的 Android 平台添加 SurfaceAndroidWebview。
@override
void initState() {
super.initState();
if (Platform.isAndroid) WebView.platform = SurfaceAndroidWebView();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.