Проверьте правильность пользовательского URI - PullRequest
0 голосов
/ 14 марта 2019

Итак, я открываю отдельное приложение Unity из приложения магазина UWP.В своем приложении UWP я использую класс Unity WSA для запуска пользовательского URI, который я создал.Пример: В реестре я создал пользовательский uri с именем test: В приложении UWP c # я использую:

string uri = @"test:";

    // Launch the URI
    Launcher.LaunchUri(uri, true);

Это работает нормально.Приложение запускается.Однако, если приложение не существует, появляется диалоговое окно, чтобы спросить меня, с чем я хочу его открыть.Могу ли я проверить это также при запуске?Так что, если у пользователя не установлено приложение, я отвечу пользователю?Я пробовал почти все классы, доступные для Unity, URI и т. Д. Ни один из них не делает то, что мне нужно.Я возлагал большие надежды на некоторых, но все, что они сделали, это сказали мне, что введенный мною URI является допустимым форматом URI, а не проверяли, действительно ли он может открыть приложение.

РЕДАКТИРОВАТЬ: Кроме того, в чем разница междуLauncher.launchURI и Application.OpenURL?

1 Ответ

1 голос
/ 14 марта 2019

Application.OpenURL открывает URL-адрес в браузере по умолчанию, а Launcher.LaunchUri запускает приложение по умолчанию, связанное с указанным URI.

И нет, из приложения UWP вы просто не можете запросить у системы, зарегистрирован ли URI или нет, такого API нет.

И LaunchUri просто возвращает false, если приложение не запущено, но в это время уже появляется диалоговое окно с сообщением об ошибке, поэтому проверка возвращаемого значения LaunchUri также не является решением.

...