gpt4 book ai didi

java - 打开Android App按钮不会返回到当前已打开的Activity

转载 作者:行者123 更新时间:2023-12-01 12:41:46 25 4
gpt4 key购买 nike

有关 Activity 启动模式的当前问题,请参阅更新 2

我正在开发一个 Android 应用程序。现在我遇到的问题是,一旦我打开一个新 Activity (不是带有 android.intent.action.MAINandroid.intent.category.LAUNCHER 的 Activity )应用程序,然后按主页按钮,然后按应用程序图标,应用程序不会将我导航回我已经打开的新 Activity (并显示在最近的应用程序列表中)。相反,它会打开一个新的 MAIN Activity 。

我应该怎样做才能改变这种行为?

================================================== ====

更新

从主 Activity 启动其他 Activity 的代码

    startActivity(new Intent(MainActivity.this, LocalActivity.class));

AndroidManifest.xml

    <activity
android:name=".MainActivity"
android:theme="@style/AppDrawTheme"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".LocalActivity"
android:launchMode="singleInstance"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:screenOrientation="portrait">
</activity>

================================================== ====

更新2

我通过改变来解决问题android:launchMode="singleInstance"android:launchMode="singleTask"

虽然我不明白为什么singleInstance会成为问题。我应该如何理解 Google 在 Android 文档中写的内容“除了系统不会在持有实例的任务中启动任何其他 Activity ”?

最佳答案

很可能您正在设置 Intent 标志,当您调用 startActivity() 或在 AndroidManifest.xml 中使用 Activity 的属性时,会导致此问题造成这个。我需要查看您的 list 或代码以准确指出问题所在。

已更新

Google 文档还说:

The activity is always the single and only member of its task.

您应该浏览this page并仔细阅读任务和 Activity 。

基本上,当您开始主要 Activity 时,它是在新任务中创建的。接下来的 Activity 被放置在同一个任务中(在堆栈中)。现在,最关键的部分是,Android 不仅仅恢复单个 Activity,而是恢复整个任务。这是默认值。

如果您使用singleInstance,每个 Activity 都有自己的任务,并且当您再次启动应用程序时(在 HOME 按钮之后)Android 使用根 Activity 恢复任务,而不是您上次看到的 Activity 的任务。当你改变launchMode时要非常小心,如果不清楚它是如何工作的,那么你可能应该先弄清楚它,否则你将来可能会有更多的惊喜。

我希望您现在已经清楚了,如果还不清楚,请阅读linked文档。

关于java - 打开Android App按钮不会返回到当前已打开的Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25039741/

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