Android在登录和MainActivity之间切换

Android在登录和MainActivity之间切换,android,Android,我有两项活动。 主要活动 public class MainActivity extends SherlockFragmentActivity{ private SharedPreferences settings; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); settings = g

我有两项活动。 主要活动

public class MainActivity extends SherlockFragmentActivity{

    private SharedPreferences settings;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        settings = getPreferences(0);

        if (settings.getBoolean("firstStart", true)) {
            Intent i = new Intent(getApplicationContext(), LoginActivity.class);
            startActivity(i);
            finish();
        }
        }
}
仅在应用程序第一次启动时调用的LoginActivity。它调用saveClass()方法:

现在的问题是:

始终启动LoginActivity。所以我猜一些带有偏好的东西不太好用。
我做错了什么,或者我必须做什么才能让代码正常工作?

不要使用
getPreferences
尝试使用

PreferenceManager.getDefaultSharedPreferences(context);

由于您正在提交更改,首选项保存看起来很好,那么启动活动的逻辑如何?能否发布getPreferences(0)的代码;也许有问题。我不知道。我认为这应该正常工作,但看起来
settings.getBoolean(“firstStart”,true)
总是返回true。只有当条目
firstStart
不在preferences中时,才应该使用此选项,而不是使用getPreferences尝试使用
PreferenceManager.GetDefaultSharedReferences(上下文)@StefanBeike
PreferenceManager.getDefaultSharedPreferences(context);