|
|
@@ -14,6 +14,30 @@ import java.io.Serializable
|
|
|
class FlutterPageLaunchUtil private constructor() {
|
|
|
companion object {
|
|
|
/**
|
|
|
+ * 只让Flutter进行页面跳转。不涉及原生部分
|
|
|
+ */
|
|
|
+ fun onlyFlutterJumpPage(
|
|
|
+ path: String,
|
|
|
+ args: Map<String, Serializable?> = mapOf<String, Serializable>(),
|
|
|
+ offAll: Boolean = false
|
|
|
+ ) {
|
|
|
+ val flutterEngine = FlutterEngineHolder.getFlutterEngine()
|
|
|
+ if (flutterEngine != null) {
|
|
|
+ val params = mutableMapOf<String, Serializable?>()
|
|
|
+ // 添加跳转来源
|
|
|
+ params.put(FlutterHostConstants.KEY_JUMP_SOURCE, "keyboard_android")
|
|
|
+ // 添加Flutter路由路径
|
|
|
+ params.put(FlutterHostConstants.KEY_PATH, path)
|
|
|
+ // 添加跳转参数
|
|
|
+ params.put(FlutterHostConstants.KEY_ARGS, JsonUtil.toJson(args))
|
|
|
+ // 是否跳转到新页面后,并清除上层的所有页面
|
|
|
+ params.put(FlutterHostConstants.OFF_ALL, offAll)
|
|
|
+ // 再通知Flutter进行页面跳转
|
|
|
+ JumpHostAppPageUtil.jumpAppPage(params, flutterEngine)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 调起Flutter的某个页面
|
|
|
*
|
|
|
* @param path Flutter的页面路由
|