我正在使用 Facebook 登录在 android 应用程序中进行用户注册。它适用于我,但有时在单击登录按钮后登录窗口未打开并且屏幕挂断。我猜这个问题是因为会话超时,当应用程序尝试与 Facebook 连接但如果 Facebook 没有响应,那么这个原因就会发生。那么我该如何解决这个问题。
提前致谢。
编辑:-代码是-
private void initFacebook(Bundle savedInstanceState){
uiHelper = new UiLifecycleHelper(this, callback);
uiHelper.onCreate(savedInstanceState);
mSessionTracker = new SessionTracker(this, callback);
mSessionTracker.startTracking();
}
和当用户点击登录按钮时调用的回调方法是 -
private Session.StatusCallback callback = new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
onSessionStateChange(session, state, exception);
if(state!= null){
if(state.isOpened()){
mSession = session;
if(mLoginButton != null)
mLoginButton.setText(getString(R.string.loginwithfacebook));
showLoadingView();
}
}
}
};
private void onSessionStateChange(Session session, SessionState state, Exception exception) {
if (pendingAction != PendingAction.NONE && (exception instanceof FacebookOperationCanceledException ||
exception instanceof FacebookAuthorizationException)) {
new AlertDialog.Builder(BaseActivity.this)
.setTitle(R.string.cancelled)
.setMessage(R.string.permission_not_granted)
.setPositiveButton(R.string.ok, null)
.show();
pendingAction = PendingAction.NONE;
} else if (state == SessionState.OPENED_TOKEN_UPDATED) {
handlePendingAction();
}
}
但是回调方法有时没有被调用。