0

我一直在尝试找到以下问题的解决方案,但没有成功:我有一个活动类,它显示需要记录的网页(演示文稿)(用户输入的内容、持续时间等)。在某些页面上,有一些按钮可以打开新的演示文稿。调用活动 - CLMWebView.class:

Intent intent = new Intent(this, CLMWebView.class);
this.startActivity(intent);

在这些代码行之间有一些 intent.putExtra,我相信这与此无关。如您所见,我正在尝试使用与调用活动相同的类开始新活动。然而,什么也没有发生。有任何想法吗?

编辑:CLMWebView.class 的 Android 清单

<activity android:name="com.msoft.views.CLMWebView"
    android:configChanges="orientation|keyboard" 
    android:icon="@drawable/svicon" 
    android:launchMode="singleTop">
        <intent-filter>
            <action android:name="android.intent.action.PICK"/>
            <action android:name="android.intent.action.CHOOSER" />
            <action android:name="android.intent.action.WEB_SEARCH" />
        </intent-filter>
</activity>
4

1 回答 1

1

singleTop活动、可见和在同一任务中不会重新创建。

引用官方文档:

类似地,也可以创建“singleTop”活动的新实例来处理新意图。但是,如果目标任务在其堆栈顶部已经有活动的现有实例,则该实例将接收新意图(在 onNewIntent() 调用中);未创建新实例。在其他情况下——例如,如果“singleTop”活动的现有实例在目标任务中,但不在堆栈的顶部,或者如果它在堆栈的顶部,但不在目标任务中 -将创建新实例并将其推送到堆栈上。

一个更好的选择是将功能放置在一个片段中,并且每次都将一个新片段添加到后堆栈。

于 2012-11-08T08:48:09.633 回答