语音激活的实现与持久化应用
1. 活动内语音激活的实现
在活动(Activity)中使用语音激活器(SpeechActivator)时,需要满足用户的期望,具备一些必要的特性。活动必须异步运行语音激活器,使用户能够同时执行其他任务,并且要防止用户意外多次激活语音识别。此外,活动还需管理生命周期事件,以处理用户在语音激活器运行时切换到其他活动的情况。当用户离开活动时,语音激活器应停止运行;当用户返回时,语音激活器应重新启动。
1.1 SpeechActivatorStartStop 类的实现
SpeechActivatorStartStop 类实现了上述所需的代码。该类主要有两个功能:
- 防止多次激活 :通过 isListeningForActivation 状态变量,确保同一时间只有一个语音激活器运行,避免用户意外多次激活语音识别。在 startActivator() 方法中,启动语音激活器前会检查该变量;在 activated() 方法中,响应激活事件前也会检查该变量,以处理异步运行语音激活器可能出现的错误和竞争条件。
- 管理生命周期事件 :通过 onPause() 方法将语音激活器的运行状态存储在 wasListeningForActivation 变量中,在 onResume() 方法中根据该变量的值重新启动语音激活器。如果活动被销毁, onSaveI
超级会员免费看
订阅专栏 解锁全文
1747

被折叠的 条评论
为什么被折叠?



