我想实现一个安卓应用程序,一开始需要Facebook登录。当我在主活动中声明 facebook 对象并想在另一个活动中调用 facebook.authored,但我无法将 facebook 对象置于意图中,还有其他方法可以实现这一点吗?
以下是流程:首次打开应用时,将打开一个主活动。然后,它将检查是否设置了访问令牌,如果没有,则启动一个新活动以允许用户登录。在该活动中,有一些登录选项和一个登录按钮。如果用户按下登录按钮,则会调用 facebook api 进行登录。
您可以使用官方 facebook/android 示例中使用的类似方法。
使用会话存储,您可以执行以下操作:
第一个活动:
Facebook facebook = new Facebook("APP_ID");
if (!SessionStore.restore(facebook, this)) {
// start the other activity for authentication
}
第二项活动:
Facebook facebook = new Facebook("APP_ID");
facebook.authorize(this, new DialogListener() {
@Override
public void onComplete(Bundle values) {
SessionStore.restore(facebook, this)
}
...
});