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)