我想在启动画面上检查用户是否已经使用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);
}
}
}
任何人都可以帮助我吗?
答案 0 :(得分:0)
在您尝试通过Facebook
登录的项目中,让我们说LoginActivity
,您可以使用以下代码:
public static boolean isLoggedIn() {
AccessToken accessToken = AccessToken.getCurrentAccessToken();
return accessToken != null;
}
现在在SplashActivity
中,将此代码添加到 onCreate()本身。
if (LoginFragment.isLoggedIn())
{
LoginManager.getInstance().logOut();
}
试试这个。希望它有所帮助。