Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当应用程序打开一次并保存在内存中时,不要显示启动屏幕_Android_Splash Screen - Fatal编程技术网

Android 当应用程序打开一次并保存在内存中时,不要显示启动屏幕

Android 当应用程序打开一次并保存在内存中时,不要显示启动屏幕,android,splash-screen,Android,Splash Screen,我想在用户像往常一样启动我的应用程序时让启动画面出现,但因为我将使用动画启动画面,所以我不想在用户每次打开应用程序时都用相同的动画打扰他,所以他需要等待3秒钟动画才能完成 所以 若用户已经打开了应用程序,那个么我如何使应用程序不显示闪屏,并且应用程序应该检查何时打开时他处于缓存状态,然后再次调用,所以当从缓存内存调用他时,它不应该显示闪屏 因为这样,这意味着他不会被用户摧毁,所以用户可以快速地从一个应用程序转到另一个应用程序 就像在谷歌日历中一样,每次打开它都会看到闪屏,这让我很烦恼,但我想做的

我想在用户像往常一样启动我的应用程序时让启动画面出现,但因为我将使用动画启动画面,所以我不想在用户每次打开应用程序时都用相同的动画打扰他,所以他需要等待3秒钟动画才能完成

所以

若用户已经打开了应用程序,那个么我如何使应用程序不显示闪屏,并且应用程序应该检查何时打开时他处于缓存状态,然后再次调用,所以当从缓存内存调用他时,它不应该显示闪屏

因为这样,这意味着他不会被用户摧毁,所以用户可以快速地从一个应用程序转到另一个应用程序

就像在谷歌日历中一样,每次打开它都会看到闪屏,这让我很烦恼,但我想做的每件事都是检查一些笔记,然后回到日历中,根据笔记制作一些事件。日历每次都让我花时间看他的闪屏。但它仍然是很好的splashscreen当我启动它时,我没有使用它一段时间


或者我应该在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存储一个布尔值,该布尔值将确定用户是否已查看启动屏幕。下次用户进入应用程序时使用此选项跳过显示飞溅。