gpt4 book ai didi

android - 当从后台到前台而不是堆栈中的最后一个 Activity 时,根 Activity 被一次又一次地调用

转载 作者:行者123 更新时间:2023-11-30 02:28:46 24 4
gpt4 key购买 nike

我正在使用 IBM worklight 开发一个混合应用程序,我必须在现有 webview(Cordova webview)的顶部打开另一个 webview,所以我创建了一个新 Activity (WebView Activity)来加载我的外部页面,但是当我通过按主页按钮从 webview Activity 进入后台,然后再次进入前台,我的 MainActivity 被调用并重新启动应用程序,我在 list 文件中为我的 MainActivity 使用了 singleTop

            <activity android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden|screenLayout|screenSize"
android:launchMode="singleTop"
>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="com.main.sample.NOTIFICATION"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>

</activity>
<activity android:name=".WebViewActivity"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden|screenLayout|screenSize"
android:launchMode="singleTop"
android:theme="@style/Theme.Transparent">

</activity>

我不知道为什么会这样,我希望恢复我的最后一个 Activity 而不是主要 Activity

最佳答案

阅读模式的文档。这将向您解释正在发生的事情:

"singleTask" and "singleInstance", should be used only when the > activity has an ACTION_MAIN and a CATEGORY_LAUNCHER filter. > Imagine, for example, what could happen if the filter is missing: An > intent launches a "singleTask" activity, initiating a new task, and > the user spends some time working in that task. The user then presses > the Home button. The task is now sent to the background and is not > visible. Now the user has no way to return to the task, because it is > not represented in the application launcher.

这是一个潜在的解决方案。有多种方法可以做到这一点。尝试在 list 中指定为启动器 Activity 的 Activity 的 onCreate 方法中使用以下代码:

if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
finish();
return;
}

这将通过检测到已经有一个任务在运行来完成您的 Launcher Activity,然后您的应用程序应该恢复到最后一个可见的 Activity。

关于android - 当从后台到前台而不是堆栈中的最后一个 Activity 时,根 Activity 被一次又一次地调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27574078/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com