我试图EventChannel在我的 flutter 应用程序中实现,但收到以下错误:
\n\n\n\xe2\x95\x90\xe2\x95\x90\xe2\x95\xa1 服务库捕获异常\n \xe2\x95\x9e\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\ xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\ x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\ x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\ xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\ x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\ x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\ xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90
\n\n在通道 com.checkin.beacon.entered.beacons 上激活平台流时引发以下 PlatformException:
\n\nPlatformException(错误,指定为非 null 的参数为 null:\n 方法 kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull,\n 参数 args,null)
\n
这是我的代码:
\n\n颤振侧:
\n\nstatic const _enteredBeaconsEvent = const EventChannel("com.checkin.beacon.entered.beacons");\n\nstatic void initialize () {\n _enteredBeaconsEvent.receiveBroadcastStream().listen((data) {\n print("data= $data");\n });\n}\nRun Code Online (Sandbox Code Playgroud)\n\n在 Android Native (Kotlin) 上,代码为:
\n\noverride fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {\n GeneratedPluginRegistrant.registerWith(flutterEngine)\n\n EventChannel(flutterEngine.dartExecutor.binaryMessenger, "com.checkin.beacon.entered.beacons").setStreamHandler(object : EventChannel.StreamHandler {\n override fun onListen(args: Any, events: EventSink) {\n Log.d(TAG, "adding listener")\n\n events.success(true)\n }\n\n override fun onCancel(args: Any) {\n Log.d(TAG, "cancelling listener")\n }\n })\n }\nRun Code Online (Sandbox Code Playgroud)\n\n我进行了很多搜索,但无法找到问题所在。
\n默认情况下,Kotlin 中的所有变量和参数都是非空的。如果您想将 null 参数传递给方法,您应该添加?到其类型,例如:
override fun onListen(args: Any?, events: EventSink?) {...}
Run Code Online (Sandbox Code Playgroud)
所以,你的最终代码将如下所示:
override fun onListen(args: Any?, events: EventSink?) {...}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3952 次 |
| 最近记录: |