MainActivity と Menu という 2 つのアクティビティがあります。メイン アクティビティを使用して facebook に正常にログインし、必要なログイン フローをセットアップしました。ただし、メニューアクティビティでセッションと状態を使用できるようにしたいと考えています。したがって、これを行うには、Intent と putExtra を使用してセッションを Menu Activity に送信しましたが、そこでこのセッションを使用する方法がわかりません。
これは私のMainActivityです(これは私がログインロジックを持ち、メニューにセッションを送信する場所です):
public class MainActivity extends Activity {
....some more login logic is here....
private void onSessionStateChange(Session session, SessionState state,
Exception exception) {
if (session != currentSession) {
return;
}
if ((session != null && session.isOpened())) {
finish();
Intent menu = new Intent(getApplicationContext(), Menu.class);
menu.putExtra("facebookSession", session);
startActivity(menu);
} else if (state.isClosed()) {
}
}
}
これはメニューアクティビティです(インテント経由で送信されたセッションを受け取ります):
public class Menu extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
Bundle extras = getIntent().getExtras();
if (extras != null) {
Session.setActiveSession((Session) extras.getSerializable("facebookSession"));
}
}
}
さて、この渡されたセッションを使用して「ユーザーをログアウトする」と言うにはどうすればよいですか?ログアウトボタンがクリックされたときに、メニューアクティビティでこれを試してみたいと思います:
logout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Log user out by using session i got from MainActivity
if (currentSession != null) {
currentSession.closeAndClearTokenInformation();
}
}
});
助けてくれてありがとう。