Android 当应用程序打开一次并保存在内存中时,不要显示启动屏幕
我想在用户像往常一样启动我的应用程序时让启动画面出现,但因为我将使用动画启动画面,所以我不想在用户每次打开应用程序时都用相同的动画打扰他,所以他需要等待3秒钟动画才能完成 所以 若用户已经打开了应用程序,那个么我如何使应用程序不显示闪屏,并且应用程序应该检查何时打开时他处于缓存状态,然后再次调用,所以当从缓存内存调用他时,它不应该显示闪屏 因为这样,这意味着他不会被用户摧毁,所以用户可以快速地从一个应用程序转到另一个应用程序 就像在谷歌日历中一样,每次打开它都会看到闪屏,这让我很烦恼,但我想做的每件事都是检查一些笔记,然后回到日历中,根据笔记制作一些事件。日历每次都让我花时间看他的闪屏。但它仍然是很好的splashscreen当我启动它时,我没有使用它一段时间Android 当应用程序打开一次并保存在内存中时,不要显示启动屏幕,android,splash-screen,Android,Splash Screen,我想在用户像往常一样启动我的应用程序时让启动画面出现,但因为我将使用动画启动画面,所以我不想在用户每次打开应用程序时都用相同的动画打扰他,所以他需要等待3秒钟动画才能完成 所以 若用户已经打开了应用程序,那个么我如何使应用程序不显示闪屏,并且应用程序应该检查何时打开时他处于缓存状态,然后再次调用,所以当从缓存内存调用他时,它不应该显示闪屏 因为这样,这意味着他不会被用户摧毁,所以用户可以快速地从一个应用程序转到另一个应用程序 就像在谷歌日历中一样,每次打开它都会看到闪屏,这让我很烦恼,但我想做的
或者我应该在MainActivity中使用onPause和onDestroy方法来实现这一点。如果是这样,我如何做到这一点,当我有一个实例化的启动屏幕时,如何不显示启动屏幕?创建一个首选项管理器类来存储布尔值来存储启动屏幕检查(如果启动与否)
public class PrefManager {
private static final String KEY_IS_SPLASH_IN = "isSplashScreenIn";
SharedPreferences pref;
// Editor for Shared preferences
Editor editor;
// Context
Context _context;
// Shared pref mode
int PRIVATE_MODE = 0;
public PrefManager(Context context) {
this._context = context;
pref = _context.getSharedPreferences(PREF_NAME, PRIVATE_MODE);
editor = pref.edit();
}
public boolean isSplashIn() {
return pref.getBoolean(KEY_IS_SPLASH_IN, false);
}
public void setSplashIn(boolean setLogin) {
editor.putBoolean(KEY_IS_SPLASH_IN, setLogin);
editor.commit();
}
}
在启动屏幕中使用首选项管理器类
public class SplashActivity extends Activity{
PrefManager pref;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
pref = new PrefManager(this);
if (pref.isSplashIn == false) {
//Splash Screen Load
pref.setSplashIn(true);
} else {
Intent registration = new Intent(ctx, Login.class);
startActivity(registration);
}
}
}
谢谢,快乐编码…使用SharedReferences存储一个布尔值,该布尔值将确定用户是否已查看启动屏幕。下次用户进入应用程序时使用此选项跳过显示飞溅。