從示例中我有這段代碼(下面)提供瞭如何從用戶請求發佈權限,唯一的問題是,當大塊導致fb對話框彈出並詢問用戶的代碼「您想爲此應用發佈權限嗎?」被稱爲應用程序繼續執行下面的代碼(在這種情況下aynctask api請求)這是一個問題bc fb並不真的給我一個布爾或任何其他方式來檢查是否(用戶批准權限請求& &許可被成功授予){Facebook-Android SDK:暫停執行,直到收到來自用戶/ fb的響應
執行的AsyncTask API請求更新DB
}
也許我失去了一些東西還是真的啞了,但是這是對他們的一部分不horriable實現?是不是很標準,任何專業公開使用的API應該返回一個布爾值,一個字符串...我可以用它來創建一個if語句?!?
private void turnOnFacebookPublishing() {
Session session = Session.getActiveSession();
if (session != null) {
Log.i("sharedprefs fbPublishBool at start of turnOnFbPublish", String.valueOf(sharedprefs.isFacebookPublishingOn()));
// Check for publish permissions
List<String> permissions = session.getPermissions();
Log.i("permissions prior to if", permissions.toString());
if (!isSubsetOf(PERMISSIONS, permissions)) {
pendingPublishReauthorization = true;
Session.NewPermissionsRequest newPermissionsRequest = new Session
.NewPermissionsRequest(this, PERMISSIONS);
session.requestNewPublishPermissions(newPermissionsRequest);
}
// asynctask api request to my api that updates a record on my db that determines a users Facebook publishing preference goes here
}
}