Просмотр исходного кода

[fix]修复,微信登录回来后,app崩溃问题

hezihao 7 месяцев назад
Родитель
Сommit
0238dce4c1

+ 5 - 0
plugins/keyboard_android/android/src/main/kotlin/com/atmob/keyboard_android/constant/FlutterHostConstants.kt

@@ -6,6 +6,11 @@ package com.atmob.keyboard_android.constant
 interface FlutterHostConstants {
     companion object {
         /**
+         * 跳转来源
+         */
+        const val KEY_JUMP_SOURCE = "jumpSource"
+
+        /**
          * 路由地址
          */
         const val KEY_PATH = "path"

+ 2 - 0
plugins/keyboard_android/android/src/main/kotlin/com/atmob/keyboard_android/util/FlutterPageLaunchUtil.kt

@@ -29,6 +29,8 @@ class FlutterPageLaunchUtil private constructor() {
             val flutterEngine = FlutterEngineHolder.getFlutterEngine()
 
             val params = mutableMapOf<String, Serializable?>()
+            // 添加跳转来源
+            params.put(FlutterHostConstants.KEY_JUMP_SOURCE, "keyboard_android")
             // 添加Flutter路由路径
             params.put(FlutterHostConstants.KEY_PATH, path)
             // 添加跳转参数

+ 7 - 0
plugins/keyboard_android/android/src/main/kotlin/com/atmob/keyboard_android/util/jump/JumpHostAppPageUtil.kt

@@ -1,6 +1,7 @@
 package com.atmob.keyboard_android.util.jump
 
 import android.content.Intent
+import com.atmob.keyboard_android.constant.FlutterHostConstants
 import com.atmob.keyboard_android.constant.PluginConfig
 import io.flutter.embedding.engine.FlutterEngine
 import io.flutter.plugin.common.MethodChannel
@@ -26,6 +27,12 @@ class JumpHostAppPageUtil private constructor() {
          * 跳转到Flutter页面
          */
         fun jumpAppPage(params: Map<String, Any?>, engine: FlutterEngine) {
+            // 忽略非自己定义的页面跳转
+            val jumpSource = params[FlutterHostConstants.KEY_JUMP_SOURCE]?.toString() ?: ""
+            if (jumpSource.isBlank()) {
+                return
+            }
+
             val methodChannel = MethodChannel(
                 engine.dartExecutor.binaryMessenger,
                 PluginConfig.FLUTTER_METHOD_CHANNEL_NAME