TabGroupActivity startChildActivity - 暂停currentActivity

时间:2011-09-27 09:41:35

标签: android android-intent childactivity

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

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

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

P.P.S 另一种解决方案是在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());
    }
}

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

1 个答案:

答案 0 :(得分:0)

尝试将此活动标记放在清单文件

android:launchMode="singleTask"

看起来应该是这样的

<activity android:name=".dashboard.DashboardActivity" android:screenOrientation="portrait"
        android:launchMode="singleTask"/>