Подтвердить что ты не робот

Почему моя голосовая команда отсутствует в меню ok в XE16?

У меня была Glassware, которая запускалась с использованием голосовой команды в меню ok. Он отлично работал в XE12, но в XE16 он не отображается в главном меню.

Вот фрагмент моего AndroidManifest.xml, показывающий конфигурацию моей голосовой команды:

<service
    android:name="com.mimming.sugarglider.MapDisplayService"
    android:label="@string/app_name"
    android:enabled="true">
    <intent-filter>
        <action android:name="com.google.android.glass.action.VOICE_TRIGGER" />
    </intent-filter>
    <meta-data
        android:name="com.google.android.glass.VoiceTrigger"
        android:resource="@xml/show_map" />
</service>

И здесь содержимое show_map.xml, которое определяет мою голосовую команду:

<trigger keyword="@string/show_me_a_map">
    <constraints network="true" />
</trigger>

Что не так?

4b9b3361

Ответ 1

Отвечая на мой собственный вопрос, так как это, похоже, влияет на многих разработчиков.

Голосовые команды немного изменились в XE16. Частные голосовые команды, как указано в вашей конфигурации, теперь требуют дополнительного разрешения. Добавьте это в свой манифест:

<uses-permission android:name="com.google.android.glass.permission.DEVELOPMENT" />

Когда вы будете готовы выпустить Glassware, вы должны использовать встроенную статическую голосовую команду. XML для такого рода команд будет выглядеть примерно так:

<?xml version="1.0" encoding="utf-8"?>
<trigger command="START_A_RUN" />

Где START_A_RUN является одним из элементов этого списка. Если ни одна из перечисленных команд не подходит для вашей посуды, вы должны запросить добавление голосовой команды. Это может занять некоторое время, поэтому лучше всего сделать это как можно раньше.