Browse Source

修改安卓是否需要唤醒ai

weicu
tanlongsheng 1 year ago
parent
commit
a6b30a14f8
  1. 2
      lib/data/services/novice_guide_service.dart
  2. 11
      local_plugins/ble_service/android/src/main/kotlin/com/yunqiinnovation/ble_service/BleService.kt
  3. 7
      local_plugins/ble_service/android/src/main/kotlin/com/yunqiinnovation/ble_service/BleServicePlugin.kt
  4. 11
      local_plugins/ble_service/lib/ble_service.dart

2
lib/data/services/novice_guide_service.dart

@ -89,6 +89,7 @@ class NoviceGuideService extends GetxService {
} }
void startWakeupListen() { void startWakeupListen() {
_bleService.setWakeup(false);
_statusSubscription = _bleService.onStatusUpdated.listen((event) { _statusSubscription = _bleService.onStatusUpdated.listen((event) {
if (event is Map && event['type'] == 'wakeup') { if (event is Map && event['type'] == 'wakeup') {
isWakeup.value = true; isWakeup.value = true;
@ -97,6 +98,7 @@ class NoviceGuideService extends GetxService {
} }
void closeWakeupListen() { void closeWakeupListen() {
_bleService.setWakeup(true);
_statusSubscription?.cancel(); _statusSubscription?.cancel();
} }
} }

11
local_plugins/ble_service/android/src/main/kotlin/com/yunqiinnovation/ble_service/BleService.kt

@ -87,6 +87,9 @@ object BleService {
// 是否是ota模式 // 是否是ota模式
var isEnterOta = false var isEnterOta = false
// 是否需要唤醒
var isWakeup = true
// 是否回复指令 // 是否回复指令
var isReply = true var isReply = true
@ -1515,7 +1518,13 @@ object BleService {
private fun notifyWakeupSignalReceived() { private fun notifyWakeupSignalReceived() {
for (callback in callbacks) { for (callback in callbacks) {
try { try {
callback.onWakeupSignalReceived() if (isWakeup) {
callback.onWakeupSignalReceived()
} else {
if (callback::class.java.simpleName == "BleServicePlugin") {
callback.onWakeupSignalReceived()
}
}
} catch (e: Exception) { } catch (e: Exception) {
Log.e(TAG, "分发唤醒信号回调异常", e) Log.e(TAG, "分发唤醒信号回调异常", e)
} }

7
local_plugins/ble_service/android/src/main/kotlin/com/yunqiinnovation/ble_service/BleServicePlugin.kt

@ -278,6 +278,13 @@ class BleServicePlugin : FlutterPlugin, MethodCallHandler, ActivityAware,
val connected = BleService.isConnected() val connected = BleService.isConnected()
result.success(connected) result.success(connected)
} }
"setWakeup" -> {
val wakeup = call.argument<Boolean>("wakeup")
if (wakeup != null) {
BleService.isWakeup = wakeup
}
result.success("")
}
"registerBackgroundScan" -> { "registerBackgroundScan" -> {
bleCompanionManager.registerBackgroundScan() bleCompanionManager.registerBackgroundScan()
result.success(true) result.success(true)

11
local_plugins/ble_service/lib/ble_service.dart

@ -272,6 +272,17 @@ class BleService {
} }
} }
/// 设置是否是否需要唤醒
Future<void> setWakeup(bool wakeup) async {
try {
await _methodChannel.invokeMethod<String>('setWakeup', {
'wakeup': wakeup,
});
} catch (e) {
print('设置是否是否需要唤醒失败: $e');
}
}
/// 断开连接 /// 断开连接
Future<void> disconnect() async { Future<void> disconnect() async {
try { try {

Loading…
Cancel
Save