2017-06-15 50 views
0

我想使用柯塔娜/启动命令行方式:运行UWP应用与柯塔娜一个参数

(按开始的写作:)

MyApp的parameter_I_want_to_pass_to_my_app

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

<Command Name="mycommand"> 
    <Example> something </Example> 
    <ListenFor RequireAppName="BeforePhrase">{parameter}</ListenFor> 
    <Feedback> Doing something with: {parameter} </Feedback> 
    <Navigate /> 
</Command> 

parameter在同一个XML规定:

<PhraseTopic Label="parameter" /> 

这是行不通的。文档中的Here是关于PhaseTopic的一些限制,并在阶段开始时使用它。但这些限制只在RequireAppName要么"AfterPhrase""ExplicitlySpecified"(我的样本中有BeforePhrase

一切正常,当增加一个词:

<ListenFor RequireAppName="BeforePhrase">word {parameter}</ListenFor> 

,并“命令”更改为:

MyApp的字parameter_I_want_to_pass_to_my_app

这是毫无意义的词...

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

___EDIT___

杰伊·佐 - MSFT表明 - 这是可能通过参数仅与应用程序名称,应用程序。 问题在Cortana和应用程序调试之间。每个应用程序构建后都没有刷新命令列表。

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

回答

0

我可以从你的代码中看到的唯一的问题是,你使用了错误的标签PhraseTopic。在您的Command中,您使用“参数”作为您的标签。所以在PhraseTopic,Label也应该是“参数”而不是“目的地”。

<PhraseTopic Label="parameter" /> 

在此之后,您的命令应该能够工作。

“冒险工作,这是一个测试”
enter image description here

:使用 Cortana voice command sample例如,一旦我们添加 CommandPhraseTopic到它的VCD文件,我们就可以说像启动与柯塔娜的应用

您可能需要检查AppName是否被正确识别。例如,在这里,一个有效的语音命令必须以“冒险作品”开头。如果您的发言被确认为“AdventureWorks这是一个测试”那么它将无法正常工作。

正如你可能已经知道,一个简单的方法来测试你在注册柯塔娜搜索框中键入如下命令的语音命令:

enter image description here

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

+0

“目的地”只是用“参数”作出问题样本后的残差。在我的应用程序中是正确的。好的一点是它应该工作。但这对我来说不起作用。 Cortana在更改voiceCommand.xml时会有些困惑......有什么方法可以在Cortana中重新创建语音命令? – Alamakanambra