Android 应用程序是否可以暂时禁用 "OK Google"?

Is it possible for an Android app to temporarily disable "OK Google"?

我有一个 Android 应用程序,用于通过 phone 的扬声器连续播放音频,包括当其他应用程序在前台或屏幕关闭时。

然而,该应用程序存在一个问题,它播放的音频可以触发 "OK Google" 热词检测,这会导致无限循环,因为该应用程序也会在播放后倒带几秒钟暂停。

因此,用户别无选择,只能完全永久地禁用热词检测。这不是最优的。

是否有一个 API 调用可供应用在播放音频时暂时禁用热词检测?

请看android:accessibilityFeedbackTypehttp://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo.html#attr_android:accessibilityFeedbackType

我相信通过更改 feedbackSpoken 的选项会给您想要的。还没有真正使用过这个功能,但值得探索.. 你甚至可以尝试 android:accessibilityFeedbackType="feedbackAllMask" 祝一切顺利

一个肮脏的技巧可能是在播放音频流时让麦克风保持忙碌

您可以使用 AudioRecord (or a MediaRecorder) 锁定麦克风,然后在完成后松开。

Hotword detection disabled with accessibly service :

为防止误报,启动指令检测 在语音反馈服务启用时被禁用。

You have defined your service as providing all possible types of feedback, which includes spoken.