Как обработать активацию URI в проекте упаковки приложений Windows? - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть приложение WPF, и я создаю приложение UWP, используя настольный мост.По сути, я создал новый проект упаковки приложений Windows и добавил в него свой проект WPF в качестве справочного материала.Я добавил объявление протокола в манифест приложения с пользовательским URI, но не могу реализовать / переопределить метод OnActivated(), потому что у меня нет классов, где это сделать, и даже невозможно добавить классы к этому типу.проекта.Итак, есть ли идеи, как я могу обрабатывать свои пользовательские вызовы URI в этой среде?

Я уже создал другой проект UWP, который просто обрабатывает эти запросы, и я также добавил этот проект в основной проект упаковки в качестве ссылки.В основном это работает, но если я создаю пакет приложения и устанавливаю его (appxbundle), то обработчик URI вообще не будет вызываться.

1 Ответ

0 голосов
/ 10 апреля 2019

Есть два способа сделать это:

1) Аргументы активации протокола передаются в функцию main () вашего приложения.Однако, поскольку вы используете WPF, вам необходимо сначала понять, как добраться до функции main ().Это объясняется в этом ответе:
Нет Main () в WPF?

2) Более эффективный подход доступен с текущим Windows SDK (1809 и более поздние версии): Вы можете вызватьэтот новый метод для получения аргументов активации для вашего упакованного приложения WPF (или любого упакованного приложения Win32):
https://docs.microsoft.com/en-us/uwp/api/windows.applicationmodel.appinstance.getactivatedeventargs#Windows_ApplicationModel_AppInstance_GetActivatedEventArgs

...