如何根据应用程序是第一次打开还是用户设置内容来显示不同的内容?
假设有一个活动A,B,如果用户第一次打开应用程序或者没有在活动B中设置什么,则显示活动B,否则显示活动A。
如何克服这一点?谢谢。
发布于 2014-01-05 16:56:55
使用PreferenceManager。在activity A add中,选中preference firstLaunch。如果未设置,则启动活动B。然后,在活动B中设置它。
它可能看起来像这样:
练习A
@Override
protected void onResume() {
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    // By default assume "true", which means this is the first launch.
    if (prefs.getBoolean("firstLaunch", true)) {
        // Start Activity B and finish myself.
        Intent i = new Intent(getApplicationContext(), ActivityB.class);
        startActivity(i);
        finish();
    }
}活动B
// Do it after you've initialized everything, so Activity A can be launched:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this)
SharedPreferences.Editor editor = prefs.edit();
// Set "fistLaunch" to "false", so Activity A will start next time.
editor.putBoolean("firstLaunch", false);
editor.commit();发布于 2014-01-05 17:03:02
如果你想显示不同的活动,如果用户第一次打开应用程序,第二次或第三次显示不同的活动,那么你可以使用下面的方法。
您可以使用SharedPreference来实现这一点。
在Splash活动中检查如下条件:
SharedPreferences preferences = getSharedPreferences("prefName", MODE_PRIVATE);
if(!preferences.getBoolean("isFirstRun", false)) {
    // This mean App Launch First Time
    SharedPreferences preferences = getSharedPreferences("prefName", MODE_PRIVATE);
    SharedPreferences.Editor edit= preferences.edit();
    edit.putBoolean("isFirstRun", true);
    edit.commit();
    // Open the B Activity
} else {
    // This mean App Launch Second or third ... time and start the A Activity
}https://stackoverflow.com/questions/20931754
复制相似问题