none
UWP后台集成Cortana,应用程序与cortana界面如何交互? RRS feed

答案

  • 你好,

    后台任务的功能主要是响应Cortana收到的语音命令,应用程序通过后台App Service来触发,这样我们就能在后台任务中进行交互。

    VoiceCommandServiceConnection:它的实例可以从后台任务实例的触发器数据中获得。它使用“FromAppServiceTriggerDetails”方法来获取实例。该类有几个重要的方法如下:

    • ReportSuccessAsync(VoiceCommandResponseresponse):通知Cortana,处理已经完成,并返回一条消息,传递给Cortana的面板显示。(注意:一旦Cortana启动后台服务,应用服务有0.5秒的时间调用ReportSuccessAsync方法。Cortana使用应用提供的数据显示并说出VCD文件中指定的反馈。如果应用进行该调用的时间超过0.5秒,Cortana将显示切换屏幕,直到应用程序调用ReportSuccessAsync方法为止,最多显示5秒。如果应用服务不调用   提供信息的 VoiceCommandServiceConnection 方法,则用户将收到一条错误消息并且该应用服务将会取消。

    • ReportFailureAsync(VoiceCommandResponseresponse):该方法用于向Cortana反馈错误信息。

    • ReportProgressAsync(VoiceCommandResponseresponse):该方法用于向Cortana报告进度,但并不指定具体的进度值,只是在Cortana面板上会显示时长5秒钟的进度条。

    • RequestAppLaunchAsync(VoiceCommandResponseresponse):该方法用于向Cortana请求启动当前应用。

    • RequestConfirmationAsync(VoiceCommandResponseresponse):该方法用于向Cortana面板发送一条需要用户确认的消息,后台服务会等待用户的确认结果,以决定下一步做什么操作。

    • RequestDisambiguationAsync(VoiceCommandResponseresponse):该方法用于向Cortana面板发送一条需要用户确认的消息。与上面方法不同的是,这个方法会在Cortana面板上列出多个选项,让用户说出或点击要选择的选项,Cortana会把用户选择的项返回给应用服务,以决定下一步做什么操作。(注意:作为方法参数的VoiceCommandResponse实例一定要使用CreateResponseForPrompt静态方法来创建)

      VoiceCommandUserMessage类:该类主要用于Cortana在与后台服务的交互过程中,向Cortana面板发送消息的封装。它有两个重要的属性:

    • DisplayMessage:要显示在Cortana面板上的文本信息。

    • SpokenMessage:希望Cortana说出来的文本。
      希望能帮到你!

    2015年11月10日 6:50
    版主

全部回复

  • 你好,

    后台任务的功能主要是响应Cortana收到的语音命令,应用程序通过后台App Service来触发,这样我们就能在后台任务中进行交互。

    VoiceCommandServiceConnection:它的实例可以从后台任务实例的触发器数据中获得。它使用“FromAppServiceTriggerDetails”方法来获取实例。该类有几个重要的方法如下:

    • ReportSuccessAsync(VoiceCommandResponseresponse):通知Cortana,处理已经完成,并返回一条消息,传递给Cortana的面板显示。(注意:一旦Cortana启动后台服务,应用服务有0.5秒的时间调用ReportSuccessAsync方法。Cortana使用应用提供的数据显示并说出VCD文件中指定的反馈。如果应用进行该调用的时间超过0.5秒,Cortana将显示切换屏幕,直到应用程序调用ReportSuccessAsync方法为止,最多显示5秒。如果应用服务不调用   提供信息的 VoiceCommandServiceConnection 方法,则用户将收到一条错误消息并且该应用服务将会取消。

    • ReportFailureAsync(VoiceCommandResponseresponse):该方法用于向Cortana反馈错误信息。

    • ReportProgressAsync(VoiceCommandResponseresponse):该方法用于向Cortana报告进度,但并不指定具体的进度值,只是在Cortana面板上会显示时长5秒钟的进度条。

    • RequestAppLaunchAsync(VoiceCommandResponseresponse):该方法用于向Cortana请求启动当前应用。

    • RequestConfirmationAsync(VoiceCommandResponseresponse):该方法用于向Cortana面板发送一条需要用户确认的消息,后台服务会等待用户的确认结果,以决定下一步做什么操作。

    • RequestDisambiguationAsync(VoiceCommandResponseresponse):该方法用于向Cortana面板发送一条需要用户确认的消息。与上面方法不同的是,这个方法会在Cortana面板上列出多个选项,让用户说出或点击要选择的选项,Cortana会把用户选择的项返回给应用服务,以决定下一步做什么操作。(注意:作为方法参数的VoiceCommandResponse实例一定要使用CreateResponseForPrompt静态方法来创建)

      VoiceCommandUserMessage类:该类主要用于Cortana在与后台服务的交互过程中,向Cortana面板发送消息的封装。它有两个重要的属性:

    • DisplayMessage:要显示在Cortana面板上的文本信息。

    • SpokenMessage:希望Cortana说出来的文本。
      希望能帮到你!

    2015年11月10日 6:50
    版主
  • 不知道楼主想实现何种交互?可以详细说一下

    UWP集成Cortana

    http://www.cnblogs.com/NailClipper/articles/4765771.html

    2015年11月13日 6:14