我刚刚创建了我的第一个正确的android应用,并遇到了启动画面问题。每当我的应用程序进入前台时,都会首先显示启动屏幕,然后显示最后打开的活动。 恢复功能看起来不错,但为什么总是显示启动屏幕。在其他应用程序中,我没有看到这种行为。 这是我的代码:
minSdkVersion 24
targetSdkVersion 26
我使用了 android:noHistory =“ true” ,但仍然没有更改 我尝试了 intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); ,但仍然没有变化
来自AndroidManifesh.xml
<activity
android:noHistory="true"
android:label="@string/app_name"
android:name=".activities.SplashActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:noHistory="true"
android:configChanges="keyboardHidden"
android:name=".activities.MainActivity" />
来自SplashActivity.java
Handler handler;
@Override
public void onCreate(Bundle savedInstanceState) {
handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(SplashActivity.this, MainActivity.class);
startActivity(intent);
finish();
}
}, Constant.SPLASH_SCREEN_TIMEOUT);
}
我想念什么? 需要更多代码进行解释吗?
答案 0 :(得分:1)
从所有活动中删除此android:noHistory="true"
。
值为"true"
表示该活动将不会留下历史痕迹。它不会保留在任务的活动堆栈中,因此用户将无法返回该任务