flutter - 从 main.dart 调用后,使用 flutter_inappwebview 的应用程序崩溃
问题描述
我正在使用 flutter_inappwebview: ^5.3.2 实现第三部分支付网关,当我从 main.dart 调用该方法时,它正在运行和工作,但是当我从其他诸如 cart.dart、checkout.dart、urwaypayment.dart 调用它时应用程序崩溃紧接在 Webview 出现之前
这是调用方法
result = await Navigator.of(context).push(
MaterialPageRoute<String>(builder: (BuildContext context) {
return new TransactPage(inURL: compURL);
}));
这个错误信息
I/Dialog (30035): mIsSamsungBasicInteraction = false, isMetaDataInActivity = false
W/Gralloc4(30035): allocator 3.x is not supported
W/Gralloc3(30035): allocator 3.x is not supported
W/com.amart1.app(30035): Accessing hidden method Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setUseSessionTickets(Z)V (greylist-max-q,core-platform-api, reflection, denied)
E/AndroidRuntime(30035): FATAL EXCEPTION: main
E/AndroidRuntime(30035): Process: com.amart1.app, PID: 30035
E/AndroidRuntime(30035): java.lang.ExceptionInInitializerError
E/AndroidRuntime(30035): at okhttp3.OkHttpClient.(OkHttpClient.kt:211)
E/AndroidRuntime(30035): at okhttp3.OkHttpClient.(OkHttpClient.kt:204)
E/AndroidRuntime(30035): at com.pichillilorenzo.flutter_inappwebview.in_app_webview.InAppWebView.prepare(InAppWebView.java:184)
E/AndroidRuntime(30035): at com.pichillilorenzo.flutter_inappwebview.in_app_webview.FlutterWebView.(FlutterWebView.java:94)
E/AndroidRuntime(30035): at com.pichillilorenzo.flutter_inappwebview.in_app_webview.FlutterWebViewFactory.create(FlutterWebViewFactory.java:26)
E/AndroidRuntime(30035): at io.flutter.plugin.platform.SingleViewPresentation.onCreate(SingleViewPresentation.java:186)
E/AndroidRuntime(30035): at android.app.Dialog.dispatchOnCreate(Dialog.java:708)
E/AndroidRuntime(30035): at android.app.Dialog.show(Dialog.java:422)
E/AndroidRuntime(30035): at android.app.Presentation.show(Presentation.java:285)
E/AndroidRuntime(30035): at io.flutter.plugin.platform.VirtualDisplayController.(VirtualDisplayController.java:95)
E/AndroidRuntime(30035): at io.flutter.plugin.platform.VirtualDisplayController.create(VirtualDisplayController.java:48)
E/AndroidRuntime(30035): at io.flutter.plugin.platform.PlatformViewsController$1.createVirtualDisplayForPlatformView(PlatformViewsController.java:207)
E/AndroidRuntime(30035): at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.create(PlatformViewsChannel.java:104)
E/AndroidRuntime(30035): at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.onMethodCall(PlatformViewsChannel.java:59)
E/AndroidRuntime(30035): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:233)
E/AndroidRuntime(30035): at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
E/AndroidRuntime(30035): at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:818)
E/AndroidRuntime(30035): at android.os.MessageQueue.nativePollOnce(Native Method)
E/AndroidRuntime(30035): at android.os.MessageQueue.next(MessageQueue.java:335)
E/AndroidRuntime(30035): at android.os.Looper.loop(Looper.java:206)
E/AndroidRuntime(30035): at android.app.ActivityThread.main(ActivityThread.java:8512)
E/AndroidRuntime(30035): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(30035): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
E/AndroidRuntime(30035): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
E/AndroidRuntime(30035): Caused by: java.lang.IllegalStateException: Expected Android API level 21+ but was 30
E/AndroidRuntime(30035): at okhttp3.internal.platform.AndroidPlatform$Companion.buildIfSupported(AndroidPlatform.kt:370)
E/AndroidRuntime(30035): at okhttp3.internal.platform.Platform$Companion.findPlatform(Platform.kt:204)
E/AndroidRuntime(30035): at okhttp3.internal.platform.Platform$Companion.access$findPlatform(Platform.kt:178)
E/AndroidRuntime(30035): at okhttp3.internal.platform.Platform.(Platform.kt:179)
E/AndroidRuntime(30035): ... 24 more
I/Process (30035): Sending signal. PID: 30035 SIG: 9
Lost connection to device.
解决方案
推荐阅读
- python - Python 将字符串日期转换为 YYYY/MM/DD 日期时间对象
- c# - c# wpf ContentControl和多个UserControls
- mysql - 用于大量 MySQL 连接的 Zabbix 触发器
- typescript - moduleResolution 是节点,但编译时间与运行时间不同
- swift - let realm = Realm() 冻结了我的应用
- django - 有效地为许多对象节省相同的时间(postgresql 和一般)
- javascript - 如何在 Javascript 中解析 AppsFlyer 转换数据?
- r - 替换两端均线导致的缺失值
- laravel - Laravel - reCAPTCHA 重新提交
- django - Django完成启动时如何启动Celery任务