Я создаю приложение для Android, использующее SDK Facebook. В настоящее время я использую LoginManager для обработки потока входа в систему. Я уже инициализировал SDK Facebook в методе Applications onCreate.
public class DummyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
FacebookSdk.sdkInitialize(this);
AppEventsLogger.activateApp(this);
}
}
Я также настроил свою LoginActivity как таковую:
public class LoginActivity extends AppCompatActivity {
@Bind(R.id.custom_login_button)
Button mCustomFacebookButton;
private CallbackManager callbackManager;
private LoginManager mLoginManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
callbackManager = CallbackManager.Factory.create();
mLoginManager = LoginManager.getInstance();
mLoginManager.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
startActivity(new Intent(LoginActivity.this, MainActivity.class));
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException error) {
error.printStackTrace();
}
});
mCustomFacebookButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mAuthProgressDialog.show();
mLoginManager.logInWithReadPermissions(LoginActivity.this
, Arrays.asList("user_events", "email" ,"user_friends"));
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
}
Поток заключается в том, что после нажатия кнопки входа в систему запускается MainActivity, и в этом действии есть SettingsActivity с кнопкой выхода, которая вызывает LoginManager.getInstance().logOut();
, которая вернет вас к действию входа в систему. Проблема, с которой я сталкиваюсь, заключается в том, что после выхода из системы я не могу снова войти в систему, а мой AccessToken всегда равен нулю. Так что, по сути, я застрял в LoginActivity.
Это становится еще более странным, как только я удаляю файлы сборки и повторно импортирую проект, он работает нормально, пока я снова не выйду из системы, и эта проблема не начнется снова. Эта проблема возникла только с тех пор, как я обновился до Android Studio 2.1, инструментов сборки до 23.0.3 и инструментов SDK до 25.1.3.
-Редактировать: он больше не исправляет себя при повторном импорте