我使用Facebook登录登录我的Android应用程序。在这里我检查访问令牌是否为空,以便我可以在登录后移动到另一个活动。这工作正常。请帮助有没有更好的方法在Facebook登录时移动另一项活动?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_boringmain);
callbackManager = CallbackManager.Factory.create();
List<String> permissions = new ArrayList<>();
permissions.add("email");
loginButton = (LoginButton) findViewById(R.id.login_button);
loginButton.setReadPermissions(permissions);
profileTracker = new ProfileTracker() {
@Override
protected void onCurrentProfileChanged(Profile profile, Profile profile1) {
Profile.setCurrentProfile(profile1);
}
};
profileTracker.startTracking();
accessTokenTracker = new AccessTokenTracker() {
@Override
protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken,AccessToken currentAccessToken) {
AccessToken.setCurrentAccessToken(currentAccessToken);
}
};
if (AccessToken.getCurrentAccessToken()!=null) {
Intent intent = new Intent(boringmain.this, UserProfile.class);
startActivity(intent);
}
else
{
Log.e("S","User not logged in ");
}
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
getUserDetails(loginResult);
};
@Override
public void onCancel() {
// App code
}
有没有更好的方法做上述情况?配置文件跟踪器和访问令牌跟踪器的使用是否正确?
答案 0 :(得分:1)
通过调用
检查用户是否已登录if (AccessToken.getCurrentAccessToken()!=null)
是好方法。但在我看来,更好的地方是检查它是在打开登录活动之前。您可以随意调用此代码,如果 AccessToken.getCurrentAccessToken() null ,则打开登录活动
在登录活动中,您应该在成功登录后转到另一个活动:
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
//START NEW ACTIVITY AFTER CORRECT LOGIN HERE
Intent intent = new Intent(boringmain.this, UserProfile.class);
startActivity(intent);
};
@Override
public void onCancel() {
};
});