在以前的android SDK,我通過調用Facebook.authorize()
問新的許可,它顯示審批權限屏幕。但在SDK 3.0中,當我撥打FacebookActivity.openSessionForPublish()
時,對話框始終顯示登錄表單。我如何顯示審批權限屏幕?請求新的SDK的額外權限,但對話框顯示登錄表格
我已經建立了具有令牌和過期日期並且其SessionState爲CREATED_TOKEN_LOADED
的會話。
是否有任何要求顯示權限對話框或Facebook.authorize()
總是顯示登錄表單?那麼請教我正確的方法。
我的代碼是像下面
public class FbConn extends FacebookActivity {
public void onCreate(Bundle savedInstanceState) {
...
if(savedInstanceState == null) {
Session savedSession = CommonUtil.getFbSession(CustomSessionStore.getFbInfo(getApplicationContext())); //get access token and expiration date from session store and set up new session.
Session.setActiveSession(savedSession);
setSession(savedSession);
}
}
protected void onStart() {
super.onStart();
openSessionForPublish(EpisodeApplication.config.getSelectedServer().fbAppId, Constants.FB_PERMISSIONS);
}
}
更新
我註釋掉這些行和許可請求畫面顯示成功。但我不確定這是否正確。
在com.facebook.LoginActivity
線62,
Utility.clearFacebookCookies(this);
在com.facebook.Session
線1202,
Utility.clearFacebookCookies(getStaticContext());
我很難理解問題是什麼。你是否說過,每次啓動應用程序時,即使用戶已經通過身份驗證,登錄對話框也會顯示出來? –
@JesseChen謝謝。我更新了問題。使用存儲的會話沒有問題。但是當應用程序要求額外的Facebook許可時,即使會話具有有效的令牌信息,新的SDK也始終顯示登錄表單(不是許可檢查屏幕)。 – kingori