我在ok玻璃菜单上使用语音命令启动了一个Glassware。它在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>
怎么了?
答案 0 :(得分:49)
回答我自己的问题,因为这似乎影响了很多开发人员。
语音命令在XE16中有所改变。 Unlisted voice commands与配置中指定的一样,现在需要额外的权限。将此添加到您的清单:
<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
是来自this list的其中一项。如果列出的命令都不适合您的Glassware,则应request the addition of a voice command。这可能需要一些时间,所以最好尽早完成。