上周,我向您展示了如何在屏幕关闭时强制OK Google Hotword检测在任何设备上运行。虽然它在某些情况下确实很有用,但它需要用户拥有root访问权限才能启用它,并且因为它阻止您的设备进入深度睡眠状态,所以它也会消耗一些电力。因此,如果设备具有离线热词识别的硬件支持,将是优选的。
第一次收到华为Mate 9的时候,惊讶地发现“OK Google”并不能一直用。考虑到Mate 9是一款配备了大量传感器的高端旗舰设备,华为没有专门的协处理器来处理语音识别似乎有些奇怪。然而,似乎一开始我就错了。华为Mate 9(后来我了解到很多旗舰华为/Honor设备)确实支持离线热词语音识别——但只是针对其专有的语音服务。
隐藏在“设置”-“智能辅助”-“语音控制”菜单中,是一个“语音唤醒”菜单,通过它可以设置热词来唤醒设备并启动一些基本命令。你可以让一个叫“Emy”的服务找到你的电话或者打电话给联系人,但是和谷歌的语音命令相比,就让人失望了。
但好处是,即使屏幕关闭,也可以调用华为的语音助手(甚至支持自定义词自启动),这是我们华为设备上的谷歌App所缺乏的功能。于是,我想出了一个办法,利用华为的“OK Emy”优势,启动谷歌语音搜索,这样我们就可以在屏幕关闭时,以回礼的方式实现“OK Google”。
跟Emy说再见,跟谷歌打个招呼
视频中可以看到,我叫“OK Emy”,在开启Goog le语音搜索之前,会短暂闪现华为独家语音交互服务。它也可以在屏幕关闭时使用,尽管我不能使用屏幕录制来显示它。
要进行设置,您只需要自动化应用程序Tasker。安装Tasker(或您选择的任何其他自动化应用程序,但本教程是为Tasker构建的,因为它是我唯一使用过的应用程序)并启用其辅助功能服务。Tasker需要一个可访问性服务,以便它可以监控窗口状态的变化,这将用于检测Emy何时被激活。
如果您有使用Tasker的经验,您可以展开下面的开关来查看配置文件的描述,并自己快速复制配置文件。如果您不熟悉Tasker,请继续阅读逐步说明。
您需要做的第一件事是在Tasker中创建新的配置文件。在主屏幕上,按下右下角的图标。单击事件上下文,然后选择变量变量集。对于变量,输入%WIN,对于值,输入“声音触发器”(不带括号)。“声音触发”是Emy被激活时弹出窗口的名称,所以当这个文本填充在窗口标签(%WIN)中时,这个配置文件就会被触发。
接下来,您将创建一个与此配置文件关联的任务。Tasker会要求您创建一个新任务并给它一个名称,但名称并不重要,所以只需按下复选框即可进入任务编辑屏幕。在底部,按并转到任务等待,并将其设置为等待1秒钟。这是为了防止谷歌语音搜索出现错误(如果错误在Emy后立即调用并导致错误超时)。添加动作后,再次按进入应用程序这次启动应用程序。向下滚动,直到看到谷歌应用。长按“谷歌”显示其可用活动列表,然后向下滚动选择“语音搜索活动”。