Ara*_*ian 15 android android-intent android-navigation taskstackbuilder
在某些手机上尝试使用该startActivities()方法尝试启动活动时遇到问题TaskStackBuilder(特别是三星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();
Run Code Online (Sandbox Code Playgroud)
有缺陷的行为是,在执行stackBuilder.startActivities()它之后打开一个白色屏幕并保持冻结而不打开AddressesActivity.这不是一种常规行为,有时会发生.
正常行为是,执行后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>
Run Code Online (Sandbox Code Playgroud)
非常感谢对此问题的任何帮助或见解.
| 归档时间: |
|
| 查看次数: |
467 次 |
| 最近记录: |