I want to send twitter session from activity to another activity.I have searched(How to pass an object from one activity to another on Android) but there is something wrong serializable TwitterSession. The scenario is when a user login successfully this session information goes to the MainActivity. Here is my code. What is my wrong ?
TwitterSessionObject.java
import com.twitter.sdk.android.core.TwitterSession;
import java.io.Serializable;
public class TwitterSessionObject implements Serializable {
private TwitterSession session;
public TwitterSessionObject(TwitterSession twitterSession){
this.session = twitterSession;
}
public TwitterSession getTwitterSession() {
return session;
}
public void setSession(TwitterSession session) {
this.session = session;
}
}
Login.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);
Fabric.with(this, new Twitter(authConfig));
setContentView(R.layout.activity_login);
loginButton = (TwitterLoginButton) findViewById(R.id.twitter_login_button);
loginButton.setCallback(new Callback<TwitterSession>() {
@Override
public void success(Result<TwitterSession> result) {
// Do something with result, which provides a TwitterSession for making API calls
TwitterSession session = Twitter.getSessionManager().getActiveSession();
TwitterAuthToken authToken = session.getAuthToken();
String token = authToken.token;
String secret = authToken.secret;
TwitterSessionObject sessionObject = new TwitterSessionObject(session);
Intent intent = new Intent(Login.this, MainActivity.class);
intent.putExtra("Session", sessionObject);
startActivity(intent);
}
@Override
public void failure(TwitterException exception) {
// Do something on failure
}
});
}
MainActivity.java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = getIntent();
TwitterSessionObject session = (TwitterSessionObject)intent.getSerializableExtra("Session");
}