2
在我的應用程序中,我有一個要求,無需登錄按鈕即可登錄Facebook。我試過下面的代碼片段在本機對話框中使用Facebook登錄而不使用Facebook登錄按鈕
Session s = new Session(activity);
Session.setActiveSession(s);
Session.OpenRequest request = new Session.OpenRequest(activity);
request.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO);
request.setCallback(new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
if (exception != null) {
Toast.makeText(activity, "Facebook" + exception.getMessage(), Toast.LENGTH_SHORT).show();
closeTask = true;
}
else if(session.getState().isOpened()){}
}
});
但它打開網頁對話框。我的要求是打開本地對話框,如果Facebook應用程序安裝。如果未安裝Facebook應用程序,請打開網頁對話框。
感謝, 馬尼什加爾格
Hi Ming,我已經使用了SUPRESS_SSO,因爲我也在使用Session.getActiveSession()來做facebook loogout。closeAndClearTokenInformation();.註銷後,當我再次嘗試登錄而不使用SUPRESS_SSO時,應用程序不會詢問用戶憑據。 – Manish
「不要求用戶憑證」是什麼意思?它只是給你一個訪問令牌嗎? –
假設用戶執行以下操作:1. Facebook應用程序未登錄並且第一次通過應用程序進行用戶登錄,它也登錄到facebook應用程序(表現爲單點登錄)。 2.用戶註銷Facebook使用我的應用程序,closeAndClearTokenInformation僅關閉應用程序的會話。 3.用戶再次嘗試使用我的應用程序登錄Facebook,因爲Facebook應用程序已經登錄,只有應用程序會話關閉,facebook api不會詢問用戶憑證並打開會話。 – Manish