From 6d8e73c8da2412106a2992d373a605af8cdc255d Mon Sep 17 00:00:00 2001 From: dongliang Date: Mon, 11 May 2026 14:26:18 +0930 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A7=A3=E7=BB=91=E6=97=B6=E9=87=8D?= =?UTF-8?q?=E7=BD=AEbindHandled=E6=A0=87=E8=AE=B0=20+=20=E7=BB=91=E5=AE=9A?= =?UTF-8?q?=E5=8A=A0Toast=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 解绑后bindHandled没重置导致再次绑定时消息被跳过。 Co-Authored-By: Claude Opus 4.6 (1M context) --- app/src/main/java/com/xiaoqu/watch/app/MainActivity.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/xiaoqu/watch/app/MainActivity.kt b/app/src/main/java/com/xiaoqu/watch/app/MainActivity.kt index eb499bf..e759183 100644 --- a/app/src/main/java/com/xiaoqu/watch/app/MainActivity.kt +++ b/app/src/main/java/com/xiaoqu/watch/app/MainActivity.kt @@ -140,6 +140,7 @@ class MainActivity : AppCompatActivity() { android.widget.Toast.makeText(this@MainActivity, "收到解绑消息", android.widget.Toast.LENGTH_SHORT).show() bluetoothScanManager.stop() userPrefs.clear() + bindHandled = false // 重置绑定标记,允许重新绑定 try { val navHost = supportFragmentManager .findFragmentById(R.id.nav_host_fragment) as? NavHostFragment @@ -257,7 +258,11 @@ class MainActivity : AppCompatActivity() { /** 处理 MQTT type=2 绑定消息(Activity 级别,不受 Fragment 生命周期影响) */ private fun handleBindMessage(rawJson: String) { - if (bindHandled) return + android.widget.Toast.makeText(this, "收到绑定消息", android.widget.Toast.LENGTH_SHORT).show() + if (bindHandled) { + android.widget.Toast.makeText(this, "绑定已处理过,跳过", android.widget.Toast.LENGTH_SHORT).show() + return + } bindHandled = true try {