【问题标题】:Unable to Launch a background app with voice commands in Cortana in UWP app?无法在 UWP 应用中使用 Cortana 中的语音命令启动后台应用?
【发布时间】:2015-09-10 13:56:25
【问题描述】:

目前我正在使用 C# 和 xaml 在我的 UWP 应用程序中进行 cortana 集成。 我已按照以下文章开始使用 cortana https://msdn.microsoft.com/en-us/library/windows/apps/xaml/dn630430.aspx?f=255&MSPPError=-2147217396 我编写了所有需要的代码,我可以使用 cortana 启动前台应用程序,并且我可以执行操作。 但我尝试使用 Cortana 启动后台应用程序,该应用程序一直打开到启动画面,然后应用程序崩溃。 我按照以下文章使用 Cortana 启动后台应用程序 https://msdn.microsoft.com/en-us/library/windows/apps/xaml/dn974228.aspx 我按照微软提供的cortana语音命令示例,我已经按照上面的链接,仍然无法做到。 是否有任何其他很酷的文章可以解决此问题以及如何在我们启动后台应用程序时调试应用程序,以便我可以在代码中保留断点并且我可以找出问题所在。 任何人都请帮我解决这个问题。 提前致谢。

【问题讨论】:

    标签: uwp cortana


    【解决方案1】:

    您可以通过将 Visual Studio 设置为等待您的代码启动来调试 Cortana 中的后台任务。它会检测 Cortana 加载你的后台任务,并自动附加:

    步骤因项目类型(C#、js 或 c++/cx)而异,但调试的一般步骤是

    1. 打开您的启动项目的项目属性(右键单击项目 -> 属性)
    2. 转到项目属性的调试(或调试)部分
    3. 将“启动应用程序”之一设置为“否”(js 或 c++ 应用程序)或“不启动,但等待我的代码启动”以进行检查(c# 应用程序)
    4. 开始调试。

    您的代码将部署,但 VS 将等待。然后触发你的 Cortana 后台任务,它会在你的代码触发时自动附加到 BackgroundTaskHost.exe。

    如果你发现 VS 从不附加并且你不能打断点,你需要调查一下你是否错过了某个地方:

    • 检查以确保您正在安装的 VCD 具有适合 VoiceCommandService 标记的条目。目标应该与包清单中设置的入口点的名称相匹配。拼写和大小写很重要。
    • 检查包清单以确保入口点是正确的完整命名空间
    • 检查您的后台任务是否实际包含在构建的部署输出中。将主应用启动项目的引用添加到后台任务(打开启动项目的引用部分,右键单击,添加引用,然后引用后台任务的项目)。这将导致 VS 将项目复制到输出,以便 Cortana 可以找到并运行它。

    如果在断点命中后的某个时间点失败,您可以跟进具体失败的地方,如果没有遇到异常,我可能会提出一些建议。

    【讨论】:

      【解决方案2】:

      从语音命令开始不会在 App.xaml.cs 中触发“OnLaunched”事件。

      但是如果是 VoiceCommandActivatedEventArgs 类型的参数,你可以检查 OnActivated

      protected override void OnActivated(IActivatedEventArgs args)
          {
              base.OnActivated(args);
      
              if (args.Kind == ActivationKind.VoiceCommand)
              {
                  // Run your OnLunched Stuff
              }
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-21
        相关资源
        最近更新 更多