活动应该只出现一次

时间:2013-08-03 08:25:05

标签: android

我在应用程序中有主要活动(条款和条件)和注册活动以及其他活动。一旦用户在安装后同意并注册到应用程序,就不应该再次看到这两个页面的用户。即使他突然退出而没有点击退出,这些活动也不应该再次出现。我使用了共享首选项。它正在工作,但是当用户没有点击退出并返回时,活动再次出现。请帮帮我..谢谢朋友..

3 个答案:

答案 0 :(得分:1)

试试这段代码 该声明将检查活动是在第一次之前还是第一次运行并相应地做出响应

private boolean isFirstTime() {
    SharedPreferences preferences = getPreferences(MODE_PRIVATE);
    boolean ranBefore = preferences.getBoolean("RanBefore", false);
    if (!ranBefore) {
        // first time
        SharedPreferences.Editor editor = preferences.edit();
        editor.putBoolean("RanBefore", true);
        editor.commit();
    }
    return !ranBefore;
}

答案 1 :(得分:0)

使用一次性屏幕作为启动活动。在其onResume()内,检查sharedPreference值

  

拨打下一个活动&如果pref值不是默认值,则完成此操作   值。

     

如果pref是默认值,则更改它。

答案 2 :(得分:0)

根据我的理解,你需要有一个切换器标志(可能是需要在应用程序中出现的布尔标志),当你的应用程序启动时,请检查BaseActivity并将帐篷传入基于的活动你的要求。  如,

public class Test extends Activity {

private static final String TAG = Test.class.getSimpleName();
private boolean isSkip= Boolean.FALSE;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (isSkip) {
        // Take the user to second Activity         
        startActivityB();
    } else {            
        // Take the user to first setup Page
        startActivityA();

    }

}

private void startActivityA() {

    Intent startA= new Intent(this, ActivityA.class);
    startActivity(startA);
}

private void startActivityB() {

            Intent startB = new Intent(this, ActivityB.class);
    startActivity(startB);
}
}

每当Activity B启动时,请更新DB以获取isSkip标志。