我正在尝试激活我的应用程序中的支付网关。在获得打开支付页面所需的所有数据后(这包括所有必要的数据,如代币名字等(。之后我应该显示一个页面。在此页面中,用户必须输入他的卡信息。
我的问题是:当尝试或试图使用WebView((打开页面时,我会遇到如下错误java.lang.IollegalStateException:平台视图尚未从平台视图通道初始化。
我已经在宣言文件中添加了使用互联网的权限。
此外,我将minSdkVersion设置为19&compileSdkVersion 32。除此之外,我多次运行flutter清理,但这并没有解决问题。
我下面的代码:
import 'dart:async';
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter/src/foundation/key.dart';
import 'package:flutter/src/widgets/framework.dart';
import 'package:webview_flutter/webview_flutter.dart';
import '../../shared/components/components.dart';
import '../../shared/components/const.dart';
class VisaCard extends StatefulWidget {
const VisCard({Key? key}) : super(key: key);
@override
State<VisCard> createState() => _VisCardState();
}
class _VisCardState extends State<VisCard> {
final Completer<WebViewController> _controller =
Completer<WebViewController>();
void initState() {
super.initState();
if (Platform.isAndroid) {
WebView.platform = SurfaceAndroidWebView();
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: WebView(
initialUrl:"https://xxxxxxx/api/acceptance/iframes/684162?payment_token=${paymobFinalTokenCard}",
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated: (WebViewController webViewController) {
_controller.complete(webViewController);
},
// onProgress: (int progress) {
// print('WebView is loading (progress : $progress%)');
// },
javascriptChannels: <JavascriptChannel>{
_toasterJavascriptChannel(context),
},
onPageFinished: (String url) {
print('Page finished loading: $url');
},
gestureNavigationEnabled: true,
backgroundColor: const Color(0x00000000),
),
);
}
JavascriptChannel _toasterJavascriptChannel(BuildContext context) {
return JavascriptChannel(
name: 'Toaster',
onMessageReceived: (JavascriptMessage message) {
showSnackBar(context,message.toString() );
});
}
}
错误消息:
[WARNING:dns_config_service_android.cc(153)] Failed to read DnsConfig.
D/EGL_emulation( 8941): eglMakeCurrent: 0x7f336f68cf90: ver 2 0 (tinfo 0x7f359bd14080)
(first time)
**E/flutter ( 8941): [ERROR:flutter/fml/platform/android/jni_util.cc(204)] java.lang.IllegalStateException: Platform view hasn't been initialized from the platform view channel.**
E/flutter ( 8941): at io.flutter.plugin.platform.PlatformViewsController.initializePlatformViewIfNeeded(PlatformViewsController.java:732)
E/flutter ( 8941): at io.flutter.plugin.platform.PlatformViewsController.onDisplayPlatformView(PlatformViewsController.java:791)
E/flutter ( 8941): at io.flutter.embedding.engine.FlutterJNI.onDisplayPlatformView(FlutterJNI.java:1380)
E/flutter ( 8941): at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter ( 8941): at android.os.MessageQueue.next(MessageQueue.java:335)
E/flutter ( 8941): at android.os.Looper.loopOnce(Looper.java:161)
E/flutter ( 8941): at android.os.Looper.loop(Looper.java:288)
E/flutter ( 8941): at android.app.ActivityThread.main(ActivityThread.java:7839)
E/flutter ( 8941): at java.lang.reflect.Method.invoke(Native Method)
E/flutter ( 8941): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
E/flutter ( 8941): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
E/flutter ( 8941):
F/flutter ( 8941): [FATAL:flutter/shell/platform/android/platform_view_android_jni_impl.cc(1469)] Check failed: fml::jni::CheckException(env).
F/libc ( 8941): Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 8941 (ample.paymobone), pid 8941 (ample.paymobone)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'google/sdk_gphone64_x86_64/emulator64_x86_64_arm64:12/SE1A.211212.001.B1/8023802:user/release-keys'
Revision: '0'
ABI: 'x86_64'
Timestamp: 2022-10-18 02:10:20.176569800+0300
Process uptime: 0s
Cmdline: com.example.paymobone
pid: 8941, tid: 8941, name: ample.paymobone >>> com.example.paymobone <<<
uid: 10160
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: '[FATAL:flutter/shell/platform/android/platform_view_android_jni_impl.cc(1469)] Check failed: fml::jni::CheckException(env).
'
rax 0000000000000000 rbx 00000000000022ed rcx 00007f357d3205cf rdx 0000000000000006
r8 00007ffee229c9d0 r9 00007ffee229c9d0 r10 00007ffee229c970 r11 0000000000000217
r12 00007f334f6d4bf0 r13 00007ffee229cad0 r14 00007ffee229c968 r15 00000000000022ed
rdi 00000000000022ed rsi 00000000000022ed
rbp 0000000000000007 rsp 00007ffee229c960 rip 00007f357d3205cf
backtrace:
#00 pc 000000000005e5cf /apex/com.android.runtime/lib64/bionic/libc.so (abort+191) (BuildId: 5db8d317d3741b337ef046540bbdd0f7)
#01 pc 000000000160bf95 /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#02 pc 0000000001631394 /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#03 pc 00000000016183d6 /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#04 pc 0000000001d847d9 /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#05 pc 00000000019b6578 /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#06 pc 00000000019b506a /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#07 pc 00000000019b5be3 /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#08 pc 00000000019b6b0d /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#09 pc 00000000019b553b /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#10 pc 00000000019b5234 /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#11 pc 00000000019b6d9c /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#12 pc 0000000001631f33 /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#13 pc 000000000163734a /data/app/~~MrR5iAtJNiBzJu6ee3Fmmg==/com.example.paymobone-cvQMP3KIgkxZaQO8P_dSzg==/lib/x86_64/libflutter.so (BuildId: 9292ed7a57d628289a096bc46aa71468ce209e08)
#14 pc 0000000000018475 /system/lib64/libutils.so (android::Looper::pollInner(int)+1013) (BuildId: 0b21e18f17c36471b0becec44f99518b)
#15 pc 000000000001801e /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+126) (BuildId: 0b21e18f17c36471b0becec44f99518b)
#16 pc 000000000015d253 /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long, int)+35) (BuildId: f90004a78069fa4c4e587a2081d386cd)
#17 pc 00000000001ab568 /system/framework/x86_64/boot-framework.oat (art_jni_trampoline+120) (BuildId: 5ead3b6496eb4808298a4612fe10561bbd30f354)
#18 pc 0000000002003e6e /memfd:jit-cache (deleted) (android.os.MessageQueue.next+206)
#19 pc 0000000002007082 /memfd:jit-cache (deleted) (android.os.Looper.loopOnce+162)
#20 pc 0000000000395376 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+806) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#21 pc 000000000041da09 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+233) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#22 pc 00000000005a335c /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+428) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#23 pc 000000000059d16c /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1036) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#24 pc 000000000097c172 /apex/com.android.art/lib64/libart.so (MterpInvokeStatic+1410) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#25 pc 000000000037e899 /apex/com.android.art/lib64/libart.so (mterp_op_invoke_static+25) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#26 pc 000000000044d768 /system/framework/framework.jar
#27 pc 000000000097c90d /apex/com.android.art/lib64/libart.so (MterpInvokeStatic+3357) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#28 pc 000000000037e899 /apex/com.android.art/lib64/libart.so (mterp_op_invoke_static+25) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#29 pc 00000000001c85ca /system/framework/framework.jar
#30 pc 0000000000594b42 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool)+306) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#31 pc 0000000000959a6f /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+1007) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#32 pc 00000000003a04bc /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+140) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#33 pc 0000000000395376 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+806) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#34 pc 000000000041da09 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+233) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#35 pc 0000000000819502 /apex/com.android.art/lib64/libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1442) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#36 pc 0000000000772728 /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+56) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#37 pc 00000000000b5a30 /apex/com.android.art/javalib/x86_64/boot.oat (art_jni_trampoline+144) (BuildId: d92cc57761604ac2f5849e74a41f38bf70ac7a09)
#38 pc 0000000000395014 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+756) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#39 pc 000000000041d9fa /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+218) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#40 pc 00000000005a335c /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+428) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#41 pc 000000000059d16c /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1036) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#42 pc 000000000096e305 /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1349) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#43 pc 000000000037e719 /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+25) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#44 pc 000000000024800e /system/framework/framework.jar
#45 pc 0000000000594b42 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool)+306) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#46 pc 0000000000959a6f /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+1007) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#47 pc 00000000003a04bc /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+140) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#48 pc 00000000008b3621 /system/framework/x86_64/boot-framework.oat (com.android.internal.os.ZygoteInit.main+2049) (BuildId: 5ead3b6496eb4808298a4612fe10561bbd30f354)
#49 pc 0000000000395376 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+806) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#50 pc 000000000041da09 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+233) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#51 pc 0000000000819eb1 /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, __va_list_tag*)+465) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#52 pc 00000000006ce8ac /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, __va_list_tag*)+620) (BuildId: cfc3de5d1c7b2855effeb77a784fc353)
#53 pc 00000000000c6374 /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+164) (BuildId: f90004a78069fa4c4e587a2081d386cd)
#54 pc 00000000000d2a71 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+865) (BuildId: f90004a78069fa4c4e587a2081d386cd)
#55 pc 0000000000002f9f /system/bin/app_process64 (main+1599) (BuildId: 5c47dfdf42370b14f9eaa0b58a1dedf3)
#56 pc 0000000000050079 /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+89) (BuildId: 5db8d317d3741b337ef046540bbdd0f7)
**Lost connection to device.**
这可能是Flutter中的一个错误,您可以在GitHub上查看错误#112542