Their is no concept of Session management in Android.
You have to save login status in SharedPreference or Database when user login success.
For sharedPreference refer Store login data in android
**FACEBOOK**
To get an facebook active session call following code in your function
void isFacebookActiveSession(){
Log.d("FacebookLogin"," login from Fb");
facebookSession = Session.getActiveSession();
Log.d("FacebookLogin"," Fb session = "+facebookSession);
facebookSession.openActiveSession(this, true, statusCallback);
}
and implement callback like.
Session.StatusCallback statusCallback = new Session.StatusCallback() {
@Override
public void call(final Session session, SessionState sessionState, Exception e) {
if (session.getPermissions().size() > 0) {
Request request = Request.newMeRequest(session,
new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
// If the response is successful
if (session == Session.getActiveSession()) {
if (user != null) {
// use is login and jump to another activity or do whatever your requiements
}else{
// login page
}
}
}
});
request.executeAsync();
}
else {
if (facebookSession != null)
facebookSession.close();
}
}
};
To check google plus login status.
googleClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() {
@Override
public void onConnected(Bundle bundle) {
googleClient.disconnect();
// already log in jump to another activity
}
@Override
public void onConnectionSuspended(int i) {
if(loginAttempts < MAXIMUM_ATTEMPTS) {
googleClient.connect();
loginAttempts++; // try to reattempt
}
}
})
.addOnConnectionFailedListener(new GoogleApiClient.OnConnectionFailedListener() {
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
// Not logged in redirect login page
googleClient.disconnect();
}
})
.addApi(Plus.API)
.addScope(Plus.SCOPE_PLUS_LOGIN)
.build();
googleClient.connect();