2015-02-13 6 views
0

Я пробовал голосовую команду Cortana для запуска своего приложения,Правильная команда Cortana не запускается правильно.

но он работает только тогда, когда приложение приостановлено. Когда приложение закрыто, оно отображает Splashscreen, а затем приложение не работает. Я не могу ничего исключить.

A имеют точно такой же код, как в https://msdn.microsoft.com/en-us/library/dn630430.aspx и возможности микрофона.

ответ

0

Когда голосовая команда активирует приложение, этот метод будет вызываться, а OnLaunched - нет. Из-за того, что нам нужно аналогичный код на код, который мы имеем в OnLaunched

Frame rootFrame = Window.Current.Content as Frame; 

if (rootFrame == null) 
{ 
    rootFrame = new Frame(); 
    rootFrame.CacheSize = 1; 
    Window.Current.Content = rootFrame; 
    rootFrame.Navigate(typeof(MainPage)); 
} 
0

Когда приложение открывается с помощью голосовых команд, вам нужно обработать его на app.OnActivated метод:

protected override void OnActivated(IActivatedEventArgs e) 
    { 
     // Handle when app is launched by Cortana 
     if (e.Kind == ActivationKind.VoiceCommand) 
     { 
      VoiceCommandActivatedEventArgs commandArgs = e as VoiceCommandActivatedEventArgs; 
      SpeechRecognitionResult speechRecognitionResult = commandArgs.Result; 

      string voiceCommandName = speechRecognitionResult.RulePath[0]; 
      string textSpoken = speechRecognitionResult.Text; 
      IReadOnlyList<string> recognizedVoiceCommandPhrases; 

      System.Diagnostics.Debug.WriteLine("voiceCommandName: " + voiceCommandName); 
      System.Diagnostics.Debug.WriteLine("textSpoken: " + textSpoken); 

      switch (voiceCommandName) 
      ... 

Если вам нужна дополнительная информация, как его интегрировать, см. Это link