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

У меня была стеклянная посуда, которая запускалась с помощью голосовой команды в меню ok glass. Он отлично работал в 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>

В чем дело?

1 ответ

Решение

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

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

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

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

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

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

Другие вопросы по тегам