gpt4 book ai didi

android - 根据条件启动 Activity 会在屏幕上产生闪烁

转载 作者:太空狗 更新时间:2023-10-29 15:33:21 25 4
gpt4 key购买 nike

我有一个无 UI 的 MainActivity,它包含确定用户是否已登录的特定逻辑。如果用户已登录,我将启动 HomeActivity,如果未登录,则启动 LoginActivity。尽管逻辑工作正常,但我看到 MainActivity 在切换到所需 Activity 之前确实启动了一小段时间。有什么方法可以避免完全调出 MainActivity,因为它会导致烦人的闪烁?

这是我的代码(省略了逻辑)-

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

if (condition) {
intent = new Intent(this, HomeActivity.class);
} else {
intent = new Intent(this, LoginActivity.class);
}

startActivity(intent);
finish();
}
}

提前致谢。

编辑

这是我的 android list 中的内容 -

    <activity
android:name="org.step.main.MainActivity"
android:label="@string/app_name"
android:launchMode="singleInstance" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

最佳答案

您可以尝试在 Intent 上设置 FLAG_ACTIVITY_NO_ANIMATION

intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);

和/或在调用 finish() 之后调用 overridePendingTransition(0, 0)

您还可以用 Fragment 替换 Activity - 让 MainActivity 带有一个全屏容器,您用登录 Fragment 或 Home Fragment 替换它。

关于android - 根据条件启动 Activity 会在屏幕上产生闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31272286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com