2014-09-18 2 views
0

Я использую руководство по созданию контекстных голосовых команд изнутри моей посуды (в основном пользовательское меню «oke glass» внутри вашего собственного приложения), перечисленное ниже. Я очень тщательно рисую часть своего Glassware с этого примера и даже проверял три раза, что я правильно выполнил шаги, но испытывал неожиданное поведение.Контекстное голосовое подменю выглядит иначе, чем родительское меню, не отвечает на голос

https://developers.google.com/glass/develop/gdk/voice#contextual_voice_commands

Когда я говорю «ОК стекло», пункты меню отображаются в виде белого текста с прозрачным фоном, наложенные на мой взгляд контента (который является подклассом GLSurfaceView, не то, что она должна быть актуальной). Когда я говорю с командой, которая является обычным пунктом меню, она работает по назначению. Однако, когда я говорю команду, содержащую подменю, элементы submeu появляются во всплывающем списке с текстом на непрозрачном фоне. Этот всплывающий список не отвечает на голос, в отличие от его родительского меню. Список реагирует только на одно нажатие, которое позволяет выбрать только первый элемент; нет возможности прокручивать выделение на любой другой элемент.

UPDATE: Это заявление:

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

Больше не верна. Я начал с нуля с совершенно нового пустого Android-проекта, нацеленного на Glass, и на этот раз я скопировал/вставлял примерный код Google поэтапно и добавил значения строковых ресурсов (которые они не предоставили), поэтому он будет компилироваться. Я обнаружил, что образец кода Google имеет ту же ошибку!

ответ

1

Ну, похоже, ошибка вызвана неосторожным, но трудно обнаружить надзор с моей стороны. Я был запущен этот проект на другом типе носимых Android устройства ранее и использовал это в моем AndroidManifest.xml под прикладном элемента:

android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 

По какой-то причине я положил это в мой скелет проекта тоже, вероятно, получить это путают с настройкой «Нет темы», которую предлагают документы GDK. Это заметно отразилось на Glass до тех пор, пока я не перешел в многоуровневые контекстные голосовые меню.

Извлечение этого из манифеста устраняет проблему.

1

Трудно сказать, не видя ваш код, почему контекстная голосовая команда не работает в вашем приложении.

Но их пример действительно работает. Вы можете увидеть мой проект на основе этого примера на https://github.com/prt2121/ContextualVoiceCommands

Надеюсь, это поможет.

+0

Вчера я попробовал код Google в своем собственном проекте (см. Мое последнее редактирование), и у него такая же ошибка. Поэтому, видя их код, достаточно. Спасибо за вашу помощь, но я попробовал ваше приложение с GitHub, и он строит, разворачивает, а затем запускает для меня запуск. Я использую Eclipse и сразу заметил, что структура проекта, к которой я привыкла, сильно отличается от вашего проекта, основанного на градле. Вероятно, поэтому среда выполнения Java не может найти класс MainActivity. – staeryatz

+0

да, я использовал андроид-студию. Можете ли вы поделиться своим кодом случайно? Легче понять, что вам не хватает. – pt2121

+1

также, мой проект на GitHub более совершенен. Итак, вместо копирования и вставки Gdk doc, почему бы вам не попробовать c & p mine? – pt2121