diff --git a/lib/modules/settings/views/permissions_view.dart b/lib/modules/settings/views/permissions_view.dart index 678a01a3f..c6eebac8c 100644 --- a/lib/modules/settings/views/permissions_view.dart +++ b/lib/modules/settings/views/permissions_view.dart @@ -156,7 +156,7 @@ class PermissionsView extends GetView { return 'phone'.tr; // 电话 case Permission.sms: return 'sms'.tr; // 短信 - case Permission.calendarFullAccess: + case Permission.calendarWriteOnly: return 'calendarWrite'.tr; // 日历写入 case Permission.calendarFullAccess: return 'calendarFullAccess'.tr; // 日历完整访问 @@ -174,7 +174,7 @@ class PermissionsView extends GetView { return 'phonePermissionDesc'.tr; // 用于拨打电话功能 case Permission.sms: return 'smsPermissionDesc'.tr; // 用于发送短信功能 - case Permission.calendarFullAccess: + case Permission.calendarWriteOnly: return 'calendarWritePermissionDesc'.tr; // 用于创建日历事件和提醒 case Permission.calendarFullAccess: return 'calendarFullAccessPermissionDesc'.tr; // 用于读取和管理日历事件及提醒 @@ -349,7 +349,7 @@ class PermissionsView extends GetView { return 'phone'.tr; // 电话 case Permission.sms: return 'sms'.tr; // 短信 - case Permission.calendarFullAccess: + case Permission.calendarWriteOnly: return 'calendarWrite'.tr; // 日历写入 case Permission.calendarFullAccess: return 'calendarFullAccess'.tr; // 日历完整访问 @@ -367,7 +367,7 @@ class PermissionsView extends GetView { return 'phonePermissionDetailDesc'.tr; // 拨打电话功能需要电话权限 case Permission.sms: return 'smsPermissionDetailDesc'.tr; // 发送短信功能需要短信权限 - case Permission.calendarFullAccess: + case Permission.calendarWriteOnly: return 'calendarWritePermissionDetailDesc'.tr; // 创建日历事件需要日历写入权限 case Permission.calendarFullAccess: return 'calendarFullAccessPermissionDetailDesc'.tr; // 管理日历事件需要完整日历权限 diff --git a/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/AgentService.kt b/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/AgentService.kt index 5a98218e4..cd0cbf423 100644 --- a/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/AgentService.kt +++ b/local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/AgentService.kt @@ -1140,32 +1140,24 @@ object AgentService : CoroutineScope { return try { Log.i(TAG, "设置支持的语言: ${languages.joinToString(", ")}") - // 重新初始化ASR服务以应用新的语言设置 - val asrSuccess = AzureAsrHelper(context).apply { - // 使用协程处理异步初始化 - CoroutineScope(Dispatchers.IO).launch { - //获取语音识别的语种 - val supportedLanguagesConfig = config["supportedLanguages"] as? List - val supportedLanguages = supportedLanguagesConfig?.toTypedArray() - ?: arrayOf("zh-CN") // 默认支持多语言 - language = supportedLanguages[0] - val asrInitSuccess = initialize( - subscriptionKey = config["azureSpeechKey"]?.toString() ?: "", - region = config["azureSpeechRegion"]?.toString() ?: "", - supportedLanguages = supportedLanguages, - audioSourceType = if (isExternalActive) AzureAsrHelper.AudioSourceType.EXTERNAL - else AzureAsrHelper.AudioSourceType.MICROPHONE - ) - - if (asrInitSuccess) { - withContext(Dispatchers.Main) { + + + val asrSuccess = azureAsrHelper?.initialize( + subscriptionKey = this.azureSpeechKey, + region = this.azureSpeechRegion, + supportedLanguages = languages.toTypedArray(), + audioSourceType = audioSourceType + ) ?: false + + if (asrSuccess) { + recognizeCallback() - } + } else { Log.w(TAG, "Azure ASR初始化失败") } - } - } + + // 同时更新TTS语言设置 val ttsSuccess = updateTtsLanguage(languages.first()) // 使用第一个语言作为TTS语言