Получить список фамилий пакетов во время выполнения? - PullRequest
0 голосов
/ 13 февраля 2020

Я знаю, как получить имя семейства пакетов для текущего приложения UWP: Package.Current.Id.FamilyName

Как найти имя семейства пакетов для других приложений UWP, установленных пользователем?

В частности, мне интересны приложения для определенного протокола, и поэтому FindAppUriHandlersAsyn c (Uri) выглядело многообещающе, но, к сожалению, это всегда возвращает пустой список для меня.

Есть идеи?


Редактировать

Вот регистрация схемы uri в приложениях, которые меня интересуют:

<Application 
    ...>
    <Extensions>
    <uap:Extension Category="windows.protocol">
        <uap:Protocol Name="my-great-protocol" ReturnResults="none">
        <uap:DisplayName>My Great Protocol</uap:DisplayName>
        </uap:Protocol>
    </uap:Extension>
    </Extensions>
</Application>

И, похоже, работает как запуск моих приложений работает:

await Launcher.LaunchUriAsync(new Uri("my-great-protocol:"));

Но это все равно возвращает пустой список:

var apps = await Launcher.FindAppUriHandlersAsync(new Uri("my-great-protocol:"));

1 Ответ

1 голос
/ 13 февраля 2020

Получить список имен семейств пакетов во время выполнения?

Для вашего требования вы можете сослаться на этот пример кода UWPTaskMonitor , который использует AppDiagnostic api для запуска Информация о приложениях UWP. И этот связанный блог , на который вы могли бы сослаться.

Обновление

Из этого документа ,

Список объектов AppInfo, представляющих каждое приложение, которое обрабатывает указанный http (s) URI.

Launcher.FindAppUriHandlersAsync(Uri) метод может использоваться для получения информации о приложении, которую необходимо зарегистрировать для обработки ссылок http и https в манифесте приложения в первую очередь, подробности см. в разделе это .

обновление 2

Например:

<Application ...>
    <Extensions>
        <uap3:Extension Category="windows.appUriHandler">  
            <uap3:AppUriHandler>  
            <uap3:Host Name="my-great-host.com" />  
            </uap3:AppUriHandler>
        </uap3:Extension>  
    </Extensions>
</Application>

и

var apps = await Launcher.FindAppUriHandlersAsync(new Uri("http://my-great-host.com"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...