Как я могу динамически очищать пользовательские команды VCD от Cortana?

У меня есть приложение UWP с VCD, где я могу заставить Кортану распознать мою тестовую команду (поэтому работает). Тем не менее, я хотел бы иметь возможность убирать все пользовательские команды (в идеале, определяя префикс имени приложения/команды и команду, в противном случае полностью удалив префикс имени приложения/команды, в противном случае удалив все пользовательские команды).

Вот мой рабочий VCD:

<?xml version="1.0" encoding="utf-8" ?>
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.2">
  <CommandSet xml:lang="en-gb" Name="VoiceDemoCommandSet_en-us">
        <AppName>Do</AppName>
        <Example>Placeholder</Example>

        <Command Name="Test">
            <Example>a test</Example>
            <ListenFor RequireAppName="BeforePhrase">a test</ListenFor>
            <Feedback>You've triggered the test command</Feedback>
            <Navigate />
        </Command>
  </CommandSet>
</VoiceCommands>

Например, как очистить зарегистрированную команду «Провести тест»?


person frackham    schedule 24.11.2020    source источник
comment
Вы проверили этот документ?   -  person Nico Zhu - MSFT    schedule 24.11.2020
comment
@NicoZhu-MSFT Да, там ничего нет об удалении ранее зарегистрированной команды. Речь идет о списках фраз (с использованием параметризованных значений прослушивания/обратной связи), но спасибо за внимание.   -  person frackham    schedule 24.11.2020
comment
Боюсь, нет такого API, который мог бы удалить установленный командный файл.   -  person Nico Zhu - MSFT    schedule 25.11.2020
comment
Достаточно справедливо - это звучит как ответ, если вы опубликуете его, я отмечу его как таковой. Спасибо :)   -  person frackham    schedule 26.11.2020
comment
Хорошо, я опубликую ответ ниже.   -  person Nico Zhu - MSFT    schedule 26.11.2020


Ответы (1)


Как я могу динамически очищать пользовательские команды VCD от Cortana?

Взять из официального документа VoiceCommandDefinitionManager содержит только InstallCommandDefinitionsFromStorageFileAsync, и нет такого API, который мог бы удалить установленный командный файл. Боюсь, вы не можете удалить установленный командный файл. Если вам нужна эта функция, опубликуйте свое требование в приложении центра обратной связи Windows.

person Nico Zhu - MSFT    schedule 26.11.2020