SharedPreferencesを使用してログインアクティビティをスキップしようとしています。アクティビティ:既にログインが完了している場合、SharedPreferencesはユーザ名を保存し、アクティビティ。SharedPreferences最初のログイン後にログイン画面が表示されないようにする
CallbackManager mcallbackManager;
private SharedPreferences mPreferences;
private String your_user_name;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPreferences = getSharedPreferences("User", MODE_PRIVATE);
SharedPreferences.Editor editor = mPreferences.edit();
editor.putString("username", your_user_name);
editor.commit();
if (mPreferences.contains("username")) {
Intent intent = new Intent(MainActivity.this, getMyLocation.class);
startActivity(intent);
}else {
FacebookSdk.sdkInitialize(this.getApplicationContext());
setContentView(R.layout.activity_main);
mcallbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(mcallbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Intent intent = new Intent(MainActivity.this, getMyLocation.class);
startActivity(intent);
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException exception) {
// App code
}
});
}
}
私は上記のコードを使用しましたが、期待通りに動作していないようです。
実行中にアプリケーションにクラッシュはなく、logcatには何も表示されません。
私はどこで間違いをしましたか?
のような? –
共有設定を正しく使用していません。あなたはfacebookを介してユーザーのログイン時にusenameでコミットする必要があります。そして、あなたがそれがデフォルト値を含んでいるかどうかを確認し、ログイン画面を表示するだけで、次のアクティビティに進む必要があります。 –