Facebook SDK 3.0 を使用して、Android アプリでボタンを押したときにアクセス トークンを取得しようとしています。アクティビティに、次のことを行う汎用ボタンがあります。
Button facebook = (Button)findViewById(R.id.facebookLoginButton);
facebook.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Session session = new Session(getApplicationContext());
Session.setActiveSession(session);
session.openForRead(new Session.OpenRequest(SignInActivity.this).setCallback(statusCallback));
}
});
そして、コールバック:
private class FacebookSessionStatusCallback implements Session.StatusCallback {
@Override
public void call(Session session, SessionState state, Exception exception) {
String s=session.getAccessToken();
}
}
ボタンをクリックすると、期待どおりに自分のプロファイルにアクセスする許可を求めるプロンプトが表示されますが、このコールバックは、SessionState が "OPENING" の場合に 1 回だけ呼び出されます。この後、状態は変化しません。
ここで何が欠けていますか?私の最終目標は、アクセストークンを一度取得することだけであり、セッションを永続化することや、それを使用してアプリにログインすることはあまり気にしません。