我有一个Splash Screen活动,其配置如下:
<activity
android:name=".activity.BoardingActivity"
android:configChanges="layoutDirection|locale"
android:exported="true"
android:label="@string/app_name"
android:noHistory="true"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
在BoardingActivity内部,当动画完成后,我会调用MainActivity。
Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS | Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
在运行Android 14的三星设备上,startActivity函数会导致MainActivity不断创建和销毁自身。这些活动在不同的线程上被创建,并且在旧活动尚未销毁时就创建了新的线程。新创建的活动的savedBundleState始终为空。这是一个持续发生的无限循环,直到应用崩溃。而在非三星设备上运行Android 14时,一切正常。
任何帮助或建议都非常感谢。
我已经尝试将启动活动更改为另一个活动,但当我调用startActivity时仍然出现相同的问题。我还尝试将launchMode更改为singleTask或singleTop,但它们均未奏效。