Я пытаюсь выяснить, установлено ли приложение Facebook на мобильном устройстве с Windows 10, чтобы аутентификация могла выполняться через приложение Facebook вместо WebAuthenticationBroker
.
Следующая строка кода всегда возвращает LaunchQuerySupportStatus.NotSupported
LaunchQuerySupportStatus uriAvailability = await Launcher.QueryUriSupportAsync(new Uri("fbconnect://authorize?client_id=.........", UriKind.Absolute), LaunchQuerySupportType.Uri);
Если я обойду эту проверку и перейду прямо к Launcher.LaunchUriAsync
, приложение откроется, как и ожидалось. Однако мне нужно выполнить вышеуказанную проверку для поддержки настольной версии, но она просто не дает мне никакого ответа, кроме «Не поддерживается».
Какие-нибудь мысли???
UDPATE
Мне удалось получить LaunchQuerySupportStatus.Available
при использовании моего собственного протокола приложения myapp://something/123/
. Я также обнаружил, что мне нужно добавить UriKind.Absolute
, чтобы это работало.
Однако по-прежнему никаких изменений с протоколом fbconnect://
ОБНОВЛЕНИЕ – 2
Сейчас я попробовал
var apps = await Launcher.FindUriSchemeHandlersAsync("fbconnect");
и до сих пор не получить никаких результатов. Если поместить туда протокол моего собственного приложения, то я получу результаты.
Facebook определенно установлен, если я пропущу этот шаг проверки, тогда программа запуска сработает и откроет приложение Facebook.