From 04e891bd5323fc7c40332b5fd7575183e5d79a31 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Wed, 16 Jul 2025 15:19:15 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4ble=20android=20=E7=9A=84?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yunqiinnovation/ble_service/BleService.kt | 11 +++++++++++ .../yunqiinnovation/ble_service/BleServicePlugin.kt | 6 ++++++ 2 files changed, 17 insertions(+) diff --git a/local_plugins/ble_service/android/src/main/kotlin/com/yunqiinnovation/ble_service/BleService.kt b/local_plugins/ble_service/android/src/main/kotlin/com/yunqiinnovation/ble_service/BleService.kt index af78e6d49..190e5eb4f 100644 --- a/local_plugins/ble_service/android/src/main/kotlin/com/yunqiinnovation/ble_service/BleService.kt +++ b/local_plugins/ble_service/android/src/main/kotlin/com/yunqiinnovation/ble_service/BleService.kt @@ -348,7 +348,18 @@ object BleService { } return null; } + fun getDeviceInfos(deviceName: String): List>? { + // 更新缓存 + val matchedResults = scanResults.filter { + it.device.name == deviceName + } + Log.d(TAG, "找到 ${matchedResults.size} 个名称为 $deviceName 的设备") + if (matchedResults.isEmpty()) { + return emptyList() + } + return null; + } /** * 打印设备信息和服务UUID */ diff --git a/local_plugins/ble_service/android/src/main/kotlin/com/yunqiinnovation/ble_service/BleServicePlugin.kt b/local_plugins/ble_service/android/src/main/kotlin/com/yunqiinnovation/ble_service/BleServicePlugin.kt index c70581d54..0e43d9188 100644 --- a/local_plugins/ble_service/android/src/main/kotlin/com/yunqiinnovation/ble_service/BleServicePlugin.kt +++ b/local_plugins/ble_service/android/src/main/kotlin/com/yunqiinnovation/ble_service/BleServicePlugin.kt @@ -305,6 +305,12 @@ class BleServicePlugin : FlutterPlugin, MethodCallHandler, ActivityAware, Log.d(TAG, "getDeviceInfo $info") result.success(info) } + "getDeviceList" -> { + val deviceName = call.argument("deviceName")?:"" + val infos = BleService.getDeviceInfos(deviceName); + Log.d(TAG, "getDeviceList $infos") + result.success(infos) + } "disconnect" -> { BleService.disconnect(); result.success(null)