2015-09-26 116 views
0

我想检查用户是否已经在Facebook上或在没有启动屏幕上。 我尝试这个,但它不工作...Facebook已经登录android

public class SplashScreen extends Activity { 

// Splash screen timer 
AccessTokenTracker accessTokenTracker; 
private static int SPLASH_TIME_OUT = 3000; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    FacebookSdk.sdkInitialize(getApplicationContext()); 
    accessTokenTracker = new AccessTokenTracker() { 
     @Override 
     protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken, AccessToken newAccessToken) { 
      updateWithToken(newAccessToken); 
     } 
    }; 
    setContentView(R.layout.splash_screen); 
    updateWithToken(AccessToken.getCurrentAccessToken()); 

} 

    private void updateWithToken(AccessToken currentAccessToken) { 

     if (currentAccessToken != null) { 
      new Handler().postDelayed(new Runnable() { 

       @Override 
       public void run() { 
        Intent i = new Intent(SplashScreen.this, Home_Page.class); 
        startActivity(i); 

        finish(); 
       } 
      }, SPLASH_TIME_OUT); 
     } else { 
      new Handler().postDelayed(new Runnable() { 

       @Override 
       public void run() { 
        Intent i = new Intent(SplashScreen.this, MainActivity.class); 
        startActivity(i); 

        finish(); 
       } 
      }, SPLASH_TIME_OUT); 
     } 
    } 
} 

任何人都可以帮助我吗?

回答

0

在你的项目中,您试图通过Facebook登录,可以说LoginActivity,你可以在用户下面的代码:

public static boolean isLoggedIn() { 
       AccessToken accessToken = AccessToken.getCurrentAccessToken(); 
       return accessToken != null; 
} 

现在,在您SplashActivity,里面添加的onCreate()本身这个代码。

if (LoginFragment.isLoggedIn()) 
    { 
      LoginManager.getInstance().logOut(); 
    } 

试试这个。希望它可以帮到你。