I am implementing the SplashScreen library ('androidx.core:core-splashscreen:1.0.0') Sometimes splash screen is not showing and setOnExitAnimationListener is ignored. Then my app keeps in an empty activity (because I kill SplashActivity and start MainActivity after exit animation listener). It seems to happen when app is open and I reinstall it again.
I tried to solve it with setKeepOnScreenCondition, but app keeps empty for 1000 milliseconds.
class SplashActivity : AppCompatActivity() {
private val startedMillis = System.currentTimeMillis()
override fun onCreate(savedInstanceState: Bundle?) {
// Handle the splash screen transition.
val splashScreen = installSplashScreen()
super.onCreate(savedInstanceState)
splashScreen.setKeepOnScreenCondition{
val shouldExit = (System.currentTimeMillis() - startedMillis) >= 1000
startActivity(Intent(this, MainActivity::class.java))
finish()
shouldExit
}
splashScreen.setOnExitAnimationListener { splashScreenView ->
val slideUp = ObjectAnimator.ofFloat(
splashScreenView.iconView,
View.ALPHA,
1f,1f
)
slideUp.duration = 500L
slideUp.doOnEnd {
//splashScreenView.remove()
startActivity(Intent(this, MainActivity::class.java))
finish()
}
// Run animation.
slideUp.start()
}
}
}
Can someone help me, please? Any idea?