我一直在努力寻找以下问题的解决方案,但没有成功: 我有一个活动类,显示需要记录的网页(演示文稿)(用户输入的内容,持续时间等)。在某些页面上有按钮可以打开新的演示文稿。 调用活动 - 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>
答案 0 :(得分:1)
singleTop
活动,可见,并且在同一任务中不会重新创建。
引用官方文档:
同样,“singleTop”活动的新实例也可能是 创建用于处理新意图。但是,如果目标任务已经存在 在其堆栈顶部有一个现有的活动实例 instance将接收新的intent(在onNewIntent()调用中);一个新的 实例未创建。在其他情况下 - 例如,如果是 “singleTop”活动的现有实例在目标任务中, 但不是在堆栈顶部,或者它位于堆栈的顶部,但是 不在目标任务中 - 将创建并推送新实例 堆栈。
更好的选择是将功能放在片段中,并且每次都将新片段添加到后台。