From 23e8f7adb84e7a91d885ea6a3f7b67b8b708c05c Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Fri, 28 Nov 2025 19:12:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=9B=B4=E6=96=B0ai=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yunqiinnovation/agent_service/AgentService.kt | 13 +++++++++++++ .../agent_service/AgentServicePlugin.kt | 2 +- .../agent_service/BleMediaService.kt | 8 ++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/AgentService.kt b/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/AgentService.kt index 84211c203..e3dd57cee 100644 --- a/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/AgentService.kt +++ b/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/AgentService.kt @@ -290,6 +290,19 @@ object AgentService : CoroutineScope { } } + fun applyConfigUpdate(config: Map) { + try { + serverurl = config["serverurl"]?.toString() ?: serverurl + usertoken = config["usertoken"]?.toString() ?: usertoken + callingToolText = config["callingToolText"]?.toString() ?: callingToolText + insufficientIntegralText = config["insufficientIntegralText"]?.toString() ?: insufficientIntegralText + vipExptime = config["vipexptime"]?.toString()?.toIntOrNull() ?: 0; + navigationMode = config["navigationMode"]?.toString() ?: navigationMode + } catch (e: Exception) { + Log.e(TAG, "应用配置更新失败: ${e.message}") + } + } + /** * 释放所有资源 */ diff --git a/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/AgentServicePlugin.kt b/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/AgentServicePlugin.kt index c886f8958..3a70cd868 100644 --- a/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/AgentServicePlugin.kt +++ b/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/AgentServicePlugin.kt @@ -99,7 +99,7 @@ class AgentServicePlugin : FlutterPlugin, MethodCallHandler, EventChannel.Stream } } } - + intent.action = "AppStart" // 启动前台服务 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { diff --git a/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/BleMediaService.kt b/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/BleMediaService.kt index 090523e08..6c992fdd3 100644 --- a/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/BleMediaService.kt +++ b/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/BleMediaService.kt @@ -493,6 +493,14 @@ private var companionManager: BleCompanionManager? = null // 初始化语音代理 if (!isChatAgentInitialized) { initializeChatAgent() + }else if (intent?.action == "AppStart"){ + val prefs = applicationContext.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE) + val incoming = extractConfigFromIntent(intent) + if (incoming.isNotEmpty()) { + saveConfigToPreferences(incoming, prefs) + } + val cfg = getConfigFromPreferences(prefs) + AgentService.applyConfigUpdate(cfg) } // 处理蓝牙扫描结果事件