2015-10-16 44 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

你有什麼結果嗎? –