Возможно ли для Android-приложения временно отключить "OK Google"?

У меня есть приложение для Android, которое используется для воспроизведения звука через динамик телефона непрерывно, в том числе, когда другие приложения находятся на переднем плане или экран выключен.

Однако в этом приложении есть проблема с тем, что звук, который он воспроизводит, может инициировать обнаружение горячего слова "OK Google", что приводит к бесконечному циклу, так как приложение также перематывает несколько секунд после приостановки.

Таким образом, для пользователя нет выбора, но полностью и постоянно отключить определение горячих слов. Это не оптимально.

Есть ли вызов API, который приложение может использовать для временного отключения обнаружения горячих слов во время воспроизведения звука?

Ответ 1

Обнаружение горячих слов отключено с помощью доступной службы:

Чтобы предотвратить ложные срабатывания, обнаружение горячих слов отключено, когда включена услуга речевой связи.

Вы определили свою услугу как предоставляющую все возможные типы обратная связь, которая включает в себя разговорный.

Ответ 2

Грязный трюк может заключаться в удержании микрофона в во время воспроизведения аудиопотока.

Вы можете заблокировать микрофон, используя AudioRecord (или MediaRecorder), а затем отпустите его, когда закончите.

Ответ 3

Пожалуйста, взгляните на android:accessibilityFeedbackType. http://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo.html#attr_android:accessibilityFeedbackType

Я считаю, что изменение опции feedbackSpoken даст вам то, что вы хотите. Не использовали эту функцию, но ее стоит изучить. Вы можете попробовать даже android:accessibilityFeedbackType="feedbackAllMask" Все лучшее и удача