2015-10-16 66 views
1

我试图找到Facebook应用程序是否安装在Windows 10移动设备上,以便可以通过Facebook应用程序而不是WebAuthenticationBroker来处理身份验证。Launcher.QueryUriSupportAsync() - 不工作Windows 10移动版

下面的代码行总是返回LaunchQuerySupportStatus.NotSupported

LaunchQuerySupportStatus uriAvailability = await Launcher.QueryUriSupportAsync(new Uri("fbconnect://authorize?client_id=.........", UriKind.Absolute), LaunchQuerySupportType.Uri); 

如果我绕过这个检查,并直奔Launcher.LaunchUriAsync然后打开如预期的应用程序。但是,我需要执行上述检查以支持桌面版本,但它只是不给我任何回应,而不支持。

任何想法???

UDPATE
我已经能够使用自己的应用程序协议myapp://something/123/时候能得到LaunchQuerySupportStatus.Available。我还发现我需要添加UriKind.Absolute才能使其工作。

然而,随着fbconnect://协议仍然没有改变

更新 - 2
现在我已经试过

var apps = await Launcher.FindUriSchemeHandlersAsync("fbconnect"); 

,仍然没有结果。如果把我自己的应用程序的协议放在那里,那么我确实会得到结果。

如果我错过了这个检查步骤,然后发射器工作并打开Facebook应用程序,Facebook肯定会安装。

回答

2

经过了一些更详细的研究后,看起来问题在于目前的Facebook应用程序是为Windows Phone 8构建的,并且是用Silverlight编写的。

当试图对通用应用执行相同的操作时,这两个操作都由我和其他人编写,那么上述两种方法都可以工作。

因为我正在撰写预发布版本,所以我只能希望Facebook在发布后不久就有一个正式的Windows 10 Mobile应用程序,以便按照我的计划工作。

UPDATE
我刚才听到从微软早地说,这个问题是固定在一个内部版本,并且应该很快就会公布于众。手指越过它将在RTM移动。一旦我看到修复程序可用,我会更新此代码 - 原始问题中显示的代码将是正确的。

+0

我已经创建了在windows phone 10设备上运行的wp 8.1项目。 'fbconnect'在Windows 8.1设备中正常工作。但同样不适用于Windows 10.从Facebook应用程序登录后,它不会重定向到我的应用程序,而是它的崩溃。任何想法? Facebook不支持单一登录? – Archana

+0

你有什么结果吗? –