这就是场景:我有3页,第一页A是主页,使用splash,第二页是B页,第三页是C页。我想从C导航到A,但我不想看到飞溅。我不想看到飞溅,但当我打开一页,飞溅总是来。我不想删除飞溅。
我尝试了一些代码,例如:
1-意图goScreen.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP goScreen =新意图(C.this或this@C,A.class);startActivity(gotoScreenVar);
2-val意图=意图(此@A,C::class.java) startActivity(意图).
发布于 2022-03-17 19:04:13
创建此扩展属性:
val Activity.isLaunchedFromHomeScreen: Boolean
get() = intent?.let {
it.action == Intent.ACTION_MAIN &&
it.categories.orEmpty().contains(Intent.CATEGORY_LAUNCHER)
} ?: false然后,在活动A中,您可以检查这个布尔值,以决定是否显示水花。
但我提醒你不要用这种方式创建一个溅屏。现在Android 12已经内置了启动屏幕,你的应用程序将在Android 12和更高版本上显示两个启动屏幕。您可能希望使用溅屏库来创建一个在所有版本的安卓系统中都能一致工作的系统。或者创建另一个属性来决定只在低于Android 11的版本上显示您的实现:
val shouldShowSplashScreen: Boolean
get() = isLaunchedFromHomeScreen && Build.VERSION.SDK_INT < Build.VERSION_CODES.R发布于 2022-03-17 19:04:23
在从活动C导航到活动A时,可以将一些数据传递给意图。喜欢
intent.putBoolean("shouldHideSplash", true);在活动A中,你可以检查意图是否有shouldHideSplash,--你可以跳过飞溅,可以做任何你想做的事情。
https://stackoverflow.com/questions/71517571
复制相似问题