我正在构建一个facebook应用程序,我将在其中使用facebook帐户登录,现在我想获取/存储会话变量,并将其用于进一步的目的,例如获取用户的基本信息和其他信息,需要会话变量才能在请求中传递它。 我使用此代码获取会话变量,但它无法正常工作。 请参考我将用于登录的任何教程或代码
//Setting Face Book Id
facebook = new Facebook(APP_ID);
mAsyncRunner = new AsyncFacebookRunner(facebook);
Session s=facebook.getSession();
答案 0 :(得分:1)
您可以使用Session.openActiveSession方法。这在Facebook Android SDK的简介中有详细介绍 - https://developers.facebook.com/docs/android/getting-started
您必须通过openActiveSession的回调方法传递接口的实现 - 您可以从那里获取会话对象,并将其存储在稍后使用的位置。
以下示例代码:
属于活动的私有成员变量:
private com.Facebook.Session fbSession;
状态回调接口的实现:
private final class FacebookSessionStatusCallback implements Session.StatusCallback {
@Override
public void call(com.Facebook.Session session, com.Facebook.SessionState state, Exception exception) {
if (session.isOpened()) {
fbSession = session;
}
}
}
在这里,我正在开启一个活跃的会话
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Session.openActiveSession(this, true, new FacebookSessionStatusCallback());
}