这个在很多的开发中,都会用到,具体的实现方式就是在本地保存一个标记值。用Handler进行延时操作,在onCreate()里面,代码如下:
new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
if (SPUtils.getBoolean(getBaseContext(), "welcomeGuide", "isFirst")) {
goActivity(MainActivity.class);//主页
} else {
goActivity(GuideActivity.class);//引导页
SPUtils.putBoolean(getBaseContext(), "welcomeGuide", "isFirst", true);
}
finish();
return false;
}
}).sendEmptyMessageDelayed(0, 2000);//延迟2秒
其中SPUtils是自己写的一个工具类,我把代码贴出来供大家参考:
public static boolean putBoolean(Context context, String fileName, String key, boolean value) {
SharedPreferences settings = context.getSharedPreferences(fileName, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean(key, value);
return editor.commit();
}
public static boolean getBoolean(Context context, String fileName, String key) {
return getBoolean(context, fileName, key, false);
}
public static boolean getBoolean(Context context, String fileName, String key, boolean defaultValue) {
SharedPreferences settings = context.getSharedPreferences(fileName, Context.MODE_PRIVATE);
return settings.getBoolean(key, defaultValue);
}