feat(设置): 新增当前位置选择器并优化UI与交互

- 在设置页面添加基于机器人位置列表的下拉选择器,支持手动设置当前位置
- 改进特殊任务模式的开关逻辑,避免与当前任务状态冲突
- 优化MQTT指令处理,新增terminate、continue命令,完善TTS暂停/恢复机制
- 添加表情动画的眨眼效果,改进导航到达和巡逻模式的状态管理
- 重构颜色主题为浅色风格,并添加横屏布局支持
- 更新README文档,补充MQTT指令说明和本地验证步骤
This commit is contained in:
2026-03-13 16:02:33 +08:00
parent b15c5c9021
commit 71e5edc57a
12 changed files with 806 additions and 93 deletions

View File

@@ -54,10 +54,27 @@ Temi SDK 的很多功能(如语音、导航、跟随)依赖于机器人的
- `app/src/main/res/layout/activity_main.xml` (主页布局)
- `app/src/main/res/layout/activity_settings.xml` (设置页布局)
## 4. 常见问题
## 4. MQTT 指令与行为
**Q: 为什么在模拟器上闪退?**
A: 因为应用启动时会调用 `Robot.getInstance()`,而普通模拟器没有 Temi 的底层服务。
应用订阅 `robot/cmd`,接收 JSON 指令。
### 动作列表
- `recharge` 前往充电桩
- `goto` 前往指定地点(字段 `location``target`
- `speak` 立即播报(字段 `text``speech`
- `stream` 流式播报(字段 `text``content`),按句号/感叹号/问号/换行分句
- `stop` 暂停 TTS 与播报队列,不清空 stream buffer
- `continue` 继续播报,优先重播被中断的那句话
- `terminate` 终止导航与 TTS清空队列和 buffer
### special 模式说明
- special 是否启用只看设置页开关 `special_task_mode`
- setCurrentTask 不会开启或关闭 special
- special 开启时,会跳过门控与问候等场景逻辑
## 5. 本地验证
```bash
.\gradlew.bat :app:installDebug
```
**Q: Trae 可以装插件预览吗?**
A: 目前没有插件能直接在 Trae 内部完美模拟 Android 环境。建议使用 Trae 写代码,配合 Android Studio 或真机进行调试预览。