使用Cortana和一个参数运行UWP应用程序

使用Cortana和一个参数运行UWP应用程序,uwp,cortana,Uwp,Cortana,我正在尝试以命令行样式使用Cortana/Start: (按开始写入:) MyApp参数\u我\u想要\u传递\u给\u我的\u应用 这是我的voiceCommands.xml文件的一部分: <Command Name="mycommand"> <Example> something </Example> <ListenFor RequireAppName="BeforePhrase">{parameter}</ListenFor&g

我正在尝试以命令行样式使用Cortana/Start:

(按开始写入:)

MyApp参数\u我\u想要\u传递\u给\u我的\u应用

这是我的
voiceCommands.xml
文件的一部分:

<Command Name="mycommand">
  <Example> something </Example>
  <ListenFor RequireAppName="BeforePhrase">{parameter}</ListenFor>
  <Feedback> Doing something with: {parameter} </Feedback>
  <Navigate />
</Command>
它不起作用。在文档中有一些关于
PhaseTopic
和在阶段开始时使用它的限制。但这些限制仅在
名称
“AfterPhrase”
“ExplicitlySpecified”
时才存在(在我的示例中,在phrase之前有

当添加一个单词时,一切正常:

<ListenFor RequireAppName="BeforePhrase">word {parameter}</ListenFor>
word{parameter}
“命令”改为:

MyApp word参数\u我希望\u将\u传递给\u我的\u应用

这是一个毫无意义的词

所以问题是如何使用Cortana将参数传递给我的应用程序?

编辑

正如Jay Zou-MSFT所显示的那样,只有使用app name才能将参数传递给app。 问题出在Cortana和应用程序调试之间。每次应用程序生成后都未刷新命令列表

卸载应用程序、清除Cortana历史记录、重新启动计算机并再次安装应用程序 有帮助


我从代码中看到的唯一问题是,您在
短语主题中使用了错误的标签。在
命令
中,您正在使用“参数”作为标签。因此,在
短语主题
中,
标签
也应该是“参数”而不是“目的地”


在此之后,您的命令应该能够工作。例如,一旦我们将
命令
短语主题
添加到其VCD文件中,我们就可以使用Cortana启动应用程序,方法如下:

“冒险工程这是一个测试”

您可能需要检查是否正确识别AppName。例如,此处的工作语音命令必须以“adventure works”开头。如果您的发言被识别为“AdventureWorks这是一个测试”
,那么它将不起作用

如您所知,测试已注册语音命令的一种简单方法是在Cortana搜索框中键入命令,如下所示:

有了以上输入,应该没有问题。

“目的地”只是用“参数”制作问题样本后的剩余物。这在我的应用程序中是正确的。好的一点是它应该是有效的。但这在我的情况下不起作用。Cortana在更改voiceCommand.xml时不知怎么搞糊涂了。。。有没有办法在Cortana中更新语音命令?
<ListenFor RequireAppName="BeforePhrase">word {parameter}</ListenFor>
<PhraseTopic Label="parameter" />