Browse Source

Merge commit 'ff59b4136c6bccf0b5b06c083d80b89f10b57c54' into new_dev

weicu
lxm 1 year ago
parent
commit
c4012ea6d2
  1. 13
      lib/modules/agent/controllers/agent_controller.dart
  2. 17
      local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/AzureAsrHelper.kt
  3. 14
      local_plugins/location_service/android/src/main/kotlin/com/yunqiinnovation/location_service/LocationService.kt

13
lib/modules/agent/controllers/agent_controller.dart

@ -706,7 +706,7 @@ class AgentController extends GetxController with WidgetsBindingObserver {
// messages.refresh();
}
Get.snackbar('error'.tr, '${event.data['message']}');
// Get.snackbar('error'.tr, '${event.data['message']}');
Logger.e(TAG, '代理服务错误: ${event.data['message']}');
break;
@ -2084,12 +2084,13 @@ class AgentController extends GetxController with WidgetsBindingObserver {
return;
}
}
// 5. 最后尝试内置高德导航
_navigationManager.open(start, "$endlongitude,$endlatitude", mode);
// 5. 如果都没有安装,提示用户
print('未找到可用的导航应用');
final availableApps =
Platform.isIOS ? '百度地图、高德地图、谷歌地图或苹果地图' : '百度地图、高德地图或谷歌地图';
Get.snackbar('提示', '未找到可用的导航应用,请安装$availableApps');
// print('未找到可用的导航应用');
// final availableApps =
// Platform.isIOS ? '百度地图、高德地图、谷歌地图或苹果地图' : '百度地图、高德地图或谷歌地图';
// Get.snackbar('提示', '未找到可用的导航应用,请安装$availableApps');
} catch (e) {
print('自动选择导航失败: $e');
Get.snackbar('错误', '启动导航失败');

17
local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/AzureAsrHelper.kt

@ -547,19 +547,20 @@ class AzureAsrHelper(private val context: Context) {
Log.e(tag, "启动录音前台服务失败: ${e.message}")
}
}
// Initialize if not already done
if (!audioStream.isInitialized()) {
audioStream.initAudioRecord()
}
audioStream.setupStream()
if (audioStream.recordfile == null) {
audioStream.recordfile = RecordFile()
}
if (!audioStream.isContinuousRecognitionActive) {
// 启动音频处理
Log.i(tag, "开启录音:audioSourceType${audioSourceType}")
// Initialize if not already done
if (!audioStream.isInitialized()) {
audioStream.initAudioRecord()
}
audioStream.setupStream()
audioStream.startAudioRecord( when (audioSourceType) {
AudioSourceType.MICROPHONE -> SimpleAudioReceiver.AudioSourceType.MICROPHONE
AudioSourceType.EXTERNAL -> SimpleAudioReceiver.AudioSourceType.EXTERNAL
@ -635,7 +636,7 @@ class AzureAsrHelper(private val context: Context) {
}
Log.i(tag, "关闭录音:")
audioStream.recordfile ?: return
if (!audioStream.isContinuousRecognitionActive) {
audioStream.stopMicrophoneCapture()

14
local_plugins/location_service/android/src/main/kotlin/com/yunqiinnovation/location_service/LocationService.kt

@ -270,13 +270,19 @@ object LocationService {
if (!hasForegroundPermission) {
return 1 // 前台权限未授予
}
// 前台权限已授予,再根据前后台状态检查后台权限
if (!isAppInForeground(context)) {
// 应用在后台:Android 10+ 需要检查后台权限
return 2 // 后台权限未授予
// 应用在后台:Android 10+ 需要检查后台权限的实际授予状态
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
val hasBackgroundPermission = hasBackgroundLocationPermission(context)
if (!hasBackgroundPermission) {
return 2 // 后台权限未授予
}
}
// Android 9 及以下或已授予后台权限
}
// 所有所需权限均已授予
return 0
}

Loading…
Cancel
Save