2014-07-09 51 views
0

我正在開發一個應用程序,該應用程序向選定的用戶發送請求。我們通過FriendPickerFragment(Android.Support.V4.App)選擇用戶。我成功地獲取了我在Picker片段的「完成」按鈕上選擇的朋友列表。發佈後,我正在嘗試構建一個請求對話框,該對話框不應顯示在我的應用中,而應該將FB請求發送給選定的朋友。這裏是我的代碼:WebDialog.RequestsDialogBu​​ilder實際上沒有發送請求?

Bundle bundle = new Bundle(); 
bundle.PutString ("app_id", AppID); 
var dialog = new WebDialog.RequestsDialogBuilder (this.Activity, Session.ActiveSession,  bundle).SetMessage(user + " has invited you to join my application"); 
dialog.Build(); 

我現在面臨的問題是,該請求沒有實際發送。也沒有例外。我甚至實施了回撥:

public void OnComplete(Bundle bundle, FacebookException e) 

但是執行不在回調中。我在這裏錯過了什麼?任何幫助將不勝感激。

試過dialog.SetTo(userId)構建之前還......仍然不工作... 有什麼建議嗎?

回答

0

那麼,根據documentation for RequestDialogBuilder方法public WebDialog build(),你描述的行爲是設計。報價:

「則不會顯示對話框,而是準備通過調用顯示Dialog.show()」

這聽起來像你不想顯示一個對話框,而只是想發送的請求沒有任何UI。您正在使用錯誤的工具來做到這一點。要使用對話框發送請求,您必須顯示對話框,並且用戶操作是導致請求發送的原因。這不需要提前授予任何特殊權限,因爲只有在用戶選擇在應用程序打開對話框後才選擇發送請求。

可能有也可能沒有辦法做你想做的(送無需任何用戶交互的應用程序的請求)...如果有一種方法,它會沿着這些路線:

使用圖表API,獲取具有用戶授予您的應用的一些權限的令牌。這是一個開始尋找的地方:

https://developers.facebook.com/docs/graph-api/reference/v2.1/user/apprequests/

相關問題