【问题标题】:SplashScreen API sometime don't display iconSplashScreen API 有时不显示图标
【发布时间】:2021-09-21 05:10:46
【问题描述】:

我有MainActivityLoginActivityMainActivity 使用Theme.MySplash(有蓝色和应用程序图标)。
在第一次启动时,SplashScreen 显示良好(带有背景和应用程序图标),但是,当我从 LoginActivity 重新启动 MainActivity 时,SplashScreen 显示没有应用程序图标。 我重新启动 MainActivity 而不是回到 MainActivity 因为在我的实际应用程序中,我需要重新创建 MainActivity 这是演示代码

style.xml

<style name="Theme.MySplash" parent="Theme.SplashScreen">
    <item name="windowSplashScreenBackground">#00f</item>
    <item name="windowSplashScreenAnimatedIcon">@drawable/ic_launcher_foreground</item>
    <item name="postSplashScreenTheme">@style/Theme.AndroidSplashScreen12</item>
</style>

<style name="Theme.AndroidSplashScreen12" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
    <item name="android:windowBackground">#fff</item>
    <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
</style>

MainActivity

class MainActivity : AppCompatActivity() {

    var keepSplashScreen = true

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        val splashScreen = installSplashScreen()
        setContentView(R.layout.activity_main)

        splashScreen.setKeepVisibleCondition { keepSplashScreen }
        Handler(Looper.getMainLooper()).postDelayed({
            keepSplashScreen = false
        }, 1500)

        findViewById<Button>(R.id.button_login).setOnClickListener {
            startActivity(Intent(this@MainActivity, LoginActivity::class.java))
        }
    }
}

登录活动

class LoginActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_login2)

        findViewById<Button>(R.id.button_start_main).setOnClickListener {
            finishAffinity()
            startActivity(Intent(this@LoginActivity, MainActivity::class.java))
        }
    }
}

【问题讨论】:

    标签: android android-splashscreen


    【解决方案1】:

    如果您通过 Splashscreen API 设置图标,那么如果您从 android studio 启动应用程序,图标将不会显示。如果您从手机打开应用程序,则会开始显示图标。

    【讨论】:

    • 谢谢。我在启动应用程序时也看到了这个问题,但对我来说似乎很好,因为它不会影响最终用户。我从另一个 Activity 再次启动 MainActivity 时遇到问题。我记得我在beta01 版本中遇到过这个问题,我不确定它是否会在下一个版本中修复。
    猜你喜欢
    • 1970-01-01
    • 2021-01-23
    • 1970-01-01
    • 2014-03-18
    • 1970-01-01
    • 2017-09-20
    • 2021-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多