From 71ba9f3e773b26b6386180384c1e3cb4af011bd5 Mon Sep 17 00:00:00 2001 From: fengge <844143714@qq.com> Date: Tue, 30 Jun 2026 12:25:20 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BC=93=E5=AD=98=E4=B8=8A=E6=AC=A1=E5=8A=A0?= =?UTF-8?q?=E5=85=A5=E7=9A=84=E7=BE=A4=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/stand/standapp/AndroidInterface.kt | 3 +++ app/src/main/java/com/stand/standapp/AppConfig.kt | 9 +++++++++ app/src/main/java/com/stand/standapp/MainActivity.kt | 12 ++++++++++++ 3 files changed, 24 insertions(+) diff --git a/app/src/main/java/com/stand/standapp/AndroidInterface.kt b/app/src/main/java/com/stand/standapp/AndroidInterface.kt index e16eac3..0d7175e 100644 --- a/app/src/main/java/com/stand/standapp/AndroidInterface.kt +++ b/app/src/main/java/com/stand/standapp/AndroidInterface.kt @@ -195,6 +195,9 @@ class AndroidInterface(private val activity: MainActivity) { fun pttJumpGroup(gid: String) { Timber.tag("PTT").d("pttJumpGroup: gid=%s", gid) SendAtUtil.jumpGroup(gid) + if (gid.isNotEmpty()) { + AppConfig.setLastGroupId(activity, gid) + } } fun getPrinterStatus(): String { diff --git a/app/src/main/java/com/stand/standapp/AppConfig.kt b/app/src/main/java/com/stand/standapp/AppConfig.kt index 34c480a..ab3bab8 100644 --- a/app/src/main/java/com/stand/standapp/AppConfig.kt +++ b/app/src/main/java/com/stand/standapp/AppConfig.kt @@ -11,6 +11,7 @@ object AppConfig { private const val KEY_USERNAME = "saved_username" private const val KEY_PASSWORD = "saved_password" private const val KEY_ACCESS_TOKEN = "access_token" + private const val KEY_LAST_GROUP_ID = "last_group_id" // 默认配置 const val DEFAULT_SERVER_URL = "https://template.gyouzhe.com" @@ -77,4 +78,12 @@ object AppConfig { fun setAccessToken(context: Context, token: String) { getPrefs(context).edit().putString(KEY_ACCESS_TOKEN, token).apply() } + + fun getLastGroupId(context: Context): String { + return getPrefs(context).getString(KEY_LAST_GROUP_ID, "") ?: "" + } + + fun setLastGroupId(context: Context, groupId: String) { + getPrefs(context).edit().putString(KEY_LAST_GROUP_ID, groupId).apply() + } } diff --git a/app/src/main/java/com/stand/standapp/MainActivity.kt b/app/src/main/java/com/stand/standapp/MainActivity.kt index 156e785..71f9f57 100644 --- a/app/src/main/java/com/stand/standapp/MainActivity.kt +++ b/app/src/main/java/com/stand/standapp/MainActivity.kt @@ -47,6 +47,18 @@ class MainActivity : AppCompatActivity() { fun onPttLoginSuccess() { Timber.tag("MainActivity").d("onPttLoginSuccess called from Native") executeJs("onPttLoginSuccess()") + + instance?.let { ctx -> + val lastGroupId = AppConfig.getLastGroupId(ctx) + if (lastGroupId.isNotEmpty()) { + Timber.tag("PTT").d("Auto-jumping to last joined group: %s after delay", lastGroupId) + ctx.runOnUiThread { + android.os.Handler(android.os.Looper.getMainLooper()).postDelayed({ + instance?.pttInterface?.pttJumpGroup(lastGroupId) + }, 2000) + } + } + } } // 硬件按键触发