SharedPreferences 以避免首次登录后出现登录屏幕

SharedPreferences to avoid login screen after the first login

我正在尝试使用 SharedPreferences 跳过登录 Activity:如果登录已经完成,SharedPreferences 将存储用户名,并且将继续进行第二次登录,而无需通过登录 Activity.

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 中没有显示任何内容。

不知道哪里错了

不要将字符串与用户名进行比较只设置一个布尔值

登录成功后将该值设为真。

sharePrefObje.putBoolean("isLoginKey",true);

在你的闪屏上这样检查

 if (getSharedPreferences("PREFERENCENAME",0).getBoolean("isLoginKey",false)){
                Intent i = new Intent(SplashActivity.this, MainActivity.class);
                startActivity(i);
                finish();
            }else{
                Intent i = new Intent(SplashActivity.this, LoginActivity.class);
                startActivity(i);
                finish();
            }