Bläddra i källkod

[feat]键盘插件,添加从插件中跳转到宿主App的MainActivity

hezihao 8 månader sedan
förälder
incheckning
71a7864c2f

+ 7 - 4
plugins/keyboard_android/android/src/main/kotlin/com/atmob/keyboard_android/component/child/impl/SettingComponent.kt

@@ -10,7 +10,7 @@ import com.atmob.keyboard_android.component.child.ISettingComponent
 import com.atmob.keyboard_android.constant.Constants
 import com.atmob.keyboard_android.ext.click
 import com.atmob.keyboard_android.util.KeyboardHolder
-import com.blankj.utilcode.util.ToastUtils
+import com.atmob.keyboard_android.util.bridge.FlutterBridgeManager
 
 /**
  * 设置页
@@ -39,14 +39,17 @@ class SettingComponent @JvmOverloads constructor(
             // 关闭
             hide()
         }
+        // 定制人设
         vSettingCustomPersonLayout.click {
-            ToastUtils.showShort("跳转 => 定制人设")
+            FlutterBridgeManager.jump2CustomCharacterPage()
         }
+        // 人设市场
         vSettingMarketLayout.click {
-            ToastUtils.showShort("跳转 => 人设市场")
+            FlutterBridgeManager.jump2CharacterMarketPage()
         }
+        // 解锁会员
         vSettingUnlockVipLayout.click {
-            ToastUtils.showShort("跳转 => 解锁会员")
+            FlutterBridgeManager.jump2VipStore()
         }
 
         setupViewModel()

+ 30 - 0
plugins/keyboard_android/android/src/main/kotlin/com/atmob/keyboard_android/util/LaunchUtil.kt

@@ -0,0 +1,30 @@
+package com.atmob.keyboard_android.util
+
+import android.content.Intent
+import com.blankj.utilcode.util.IntentUtils
+import com.blankj.utilcode.util.Utils
+import java.io.Serializable
+
+/**
+ * 跳转工具类
+ */
+class LaunchUtil private constructor() {
+    companion object {
+        /**
+         * 跳转到App的启动页
+         *
+         * @param args 跳转参数
+         */
+        fun startLaunchActivity(args: Map<String, Serializable?> = mapOf<String, Serializable>()) {
+            val intent: Intent? = IntentUtils.getLaunchAppIntent(Utils.getApp().packageName)
+            if (intent == null) {
+                return
+            }
+            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+            for (entry in args) {
+                intent.putExtra(entry.key, entry.value)
+            }
+            Utils.getApp().startActivity(intent)
+        }
+    }
+}

+ 4 - 0
plugins/keyboard_android/android/src/main/kotlin/com/atmob/keyboard_android/util/bridge/FlutterBridgeManager.kt

@@ -2,6 +2,7 @@ package com.atmob.keyboard_android.util.bridge
 
 import com.atmob.keyboard_android.constant.PluginConfig
 import com.atmob.keyboard_android.enums.FlutterMethod
+import com.atmob.keyboard_android.util.LaunchUtil
 import com.atmob.keyboard_android.util.bridge.model.base.EmptyResp
 import com.atmob.keyboard_android.util.bridge.model.req.SuperReplyReq
 import com.atmob.keyboard_android.util.bridge.model.req.SuperSpeakReq
@@ -60,12 +61,15 @@ object FlutterBridgeManager : IBridgeApi {
     }
 
     override fun jump2CustomCharacterPage() {
+        LaunchUtil.startLaunchActivity()
     }
 
     override fun jump2CharacterMarketPage() {
+        LaunchUtil.startLaunchActivity()
     }
 
     override fun jump2VipStore() {
+        LaunchUtil.startLaunchActivity()
     }
 
     override fun getKeyboardList(