facebook已登录android

时间:2015-09-26 05:01:12

标签: android facebook

我想在启动画面上检查用户是否已经使用Facebook登录。 我试试这个,但它不起作用......

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);
        }
    }
}

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

在您尝试通过Facebook登录的项目中,让我们说LoginActivity,您可以使用以下代码:

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

现在在SplashActivity中,将此代码添加到 onCreate()本身。

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

试试这个。希望它有所帮助。