尝试使用 startActivities() 下的 startActivities() 方法在某些手机上启动某项活动时出现问题(特别是在三星Galaxy S3 - Android 4.3,三星Galaxy S3 Neo - Android 4.4.2)

以下是使用的代码段:

TaskStackBuilder stackBuilder = TaskStackBuilder.create(ConfirmAddressActivity.this);
stackBuilder.addParentStack(AddressesActivity.class);

Intent intent = AddressesActivity.createStartingIntent(
    ConfirmAddressActivity.this,
    true, Collections.EMPTY_LIST
);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

stackBuilder.addNextIntent(intent);
stackBuilder.startActivities();

The buggy behaviour ,是执行 stackBuilder.startActivities() 之后,它打开一个白色屏幕并保持冻结而不打开AddressesActivity . 这不是一种常规行为,有时会发生 .

The normal behaviour ,是执行 stackBuilder.startActivities() 之后,它打开一个白色屏幕(0.5秒 - 1秒),然后打开AddressesActivity,同时正确构建该活动的完整后台堆栈 . 这是许多设备/平台下的正确行为 . (HTC M9 Android 6.0,三星S2 - Android 4.1.2,三星Galaxy S6 - Android 5.1.1,LG G4 - Android 5.1.1)

这是定义活动的android清单片段:

<activity
    android:name=".activity.account.AccountActivity"
    android:label="My account"
    android:screenOrientation="portrait"
    android:parentActivityName=".activity.DashboardActivity">
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value=".activity.DashboardActivity" />
</activity>

<activity
    android:name=".activity.addresses.AddressesActivity"
    android:label="My addresses"
    android:screenOrientation="portrait"
    android:parentActivityName=".activity.account.AccountActivity">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".activity.account.AccountActivity" />
</activity>

<activity
    android:name=".activity.addresses.ConfirmAddressActivity"
    android:label="Save address"
    android:screenOrientation="portrait"
    android:parentActivityName=".activity.addresses.AddressDetailsActivity">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".activity.addresses.AddressDetailsActivity" />
</activity>

非常感谢对此问题的任何帮助或见解 .