0

扩展 TabGroupActivity,当我开始一个新的 childActivity 时:

public void startChildActivity(String Id, Intent intent) {
    Window window = getLocalActivityManager().startActivity(Id,
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
    if (window != null) {
        activityIdList.add(Id);
        setContentView(window.getDecorView());
    }
}

如何将当前活动置于暂停状态?

因为在我以这种方式启动子活动后,当我重新启动它时,就会运行 on create 方法。我怎样才能避免这种情况?

找到一个解决方案是使用另一个标志:

Intent.FLAG_ACTIVITY_REORDER_TO_FRONT

但不确定这是否是最佳解决方案

PPS 另一种解决方案是在 startChildActivity 方法中添加一个布尔意图:

public void startChildActivity(String Id, Intent intent) {
    intent.addExtra("resume", true);
    Window window = getLocalActivityManager().startActivity(Id,
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
    if (window != null) {
        activityIdList.add(Id);
        setContentView(window.getDecorView());
    }
}

然后从子活动中检索它并检查活动是否重新启动

4

1 回答 1

0

尝试将其放在清单文件中的活动标记中

android:launchMode="singleTask"

它应该看起来像这样

<activity android:name=".dashboard.DashboardActivity" android:screenOrientation="portrait"
        android:launchMode="singleTask"/>
于 2011-09-27T12:16:37.570 回答