所以,我有一個Dialog
與「共享」按鈕。當按鈕被按下時,它會調用一個共享用戶信息的方法,如果他們已經登錄到Facebook。但是,如果他們沒有登錄到Facebook,我希望它首先允許用戶登錄並分享他們的信息。這是我嘗試登錄用戶沒有LoginButton
:正確的方式來創建Facebook會話登錄?
Session.OpenRequest openRequest = new Session.OpenRequest(GameActivity.this);
StatusCallback callback = new StatusCallback(){
@Override
public void call(Session session, SessionState state, Exception exception) {
Log.d(TAG, "CALL");
if (Session.getActiveSession() != null && Session.getActiveSession().isOpened()){
Log.d(TAG, "sendBrag was called");
sendBrag();
}else{
Log.d(TAG, "session is not opened");
}
if (exception != null){
Log.d(TAG, "caught exception in call method");
}
}
};
openRequest.setCallback(callback);
openRequest.setDefaultAudience(SessionDefaultAudience.FRIENDS);
openRequest.setPermissions(PERMISSIONS);
Session session = new Session(GameActivity.this);
session.openForPublish(openRequest);
Session.setActiveSession(session);
其中,PERMISSIONS
是:
private static final List<String> PERMISSIONS = Arrays.asList("publish_actions");
問題是,它從來沒有登錄!我要麼收到Toast
消息,指出「檢查您的網絡連接」(即使我的網絡連接正常),或者沒有任何反應。但從日誌中我可以告訴Session永遠不會打開。 綜上所述:您如何使用Session
課程正確登錄Facebook?我在這裏錯過了什麼?任何幫助,建議或意見將不勝感激,謝謝!