【发布时间】:2021-12-26 16:24:53
【问题描述】:
我浏览了documentation on the splash screen for Android 12 和migrating existing splash screen,但没有明确提及如何根据条件选择开始屏幕。
具体来说,我之前添加了检查用户是否像这样登录:
class SplashScreenActivity: AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_splash_screen)
if(viewModel.isUserSignedIn()) {
navigateToMain()
} else {
navigateToAuth()
}
}
}
SplashScreenActivity 被标记为默认启动活动。当我保持这种状态时,Android Studio 会发出警告 - The application should not provide its own launch screen。
我按照指南对其进行了修改,并从活动中删除了setContentView,并调用了installSplashScreen。
class SplashScreenActivity: AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
installSplashScreen()
if(viewModel.isUserSignedIn()) {
navigateToMain()
} else {
navigateToAuth()
}
}
}
当我在模拟器上运行时,它似乎按预期工作,但 Android Studio 继续发出相同的警告。
这是迁移到 Android 12 启动画面的正确方法吗?如果是,为什么 Android Studio 上的错误仍然显示? 另外,我们是否需要将 Activity 保留为默认启动器,或者那里需要进行更改?
【问题讨论】:
标签: android android-studio kotlin splash-screen