gpt4 book ai didi

android - 主页按钮上的错误 Activity 并开始更新

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

我有一个 Android 应用程序,它有 2 个 Activity,A 和 B。然后,当我启动 Activity A 时,转到 Activity B(按钮),按主页并单击启动器中的应用程序,我打开它并希望 Activity B,但它是 Activity A。

为什么?

在 Activity A 的 list 中我有这个

<activity android:configChanges="locale|orientation|keyboardHidden|screenSize"
android:label="@string/app_name" android:launchMode="singleInstance" android:name="MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>

在 Activity B launchMode:singleTask 中,在 Intent 过滤器中:

<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
</intent-filter>

最佳答案

If we do not add launch mode for activities in manifest file,the default implementation is as below:

1.Activity A --> Activity B
2.Pressed Home button.
3.launch application again from launcher

Result:
Activity B will be seen. (If application is not killed).

Which behavior you are expecting.
  1. 如果您在 list 文件中如下声明 ActivityA 和 B:

            <activity android:name=".ActivityA"
    android:label="@string/app_name"
    android:launchMode="singleTask"
    >

    <activity android:name=".ActivityA"
    android:label="@string/app_name"
    android:launchMode="singleTask"
    >

    步骤: 1. Activity A --> Activity B 2.按下主页按钮。 3.从启动器再次启动应用程序

    结果:将看到 Activity A。

    原因:

    如果我们为 Activity 添加android:launchMode="singleTask", Activity 将在新任务中创建。如果您再次启动应用程序,现有的 Activity 后台将被删除, Activity 将再次在新任务中创建。这就是为什么当您再次启动应用程序时您看不到 Activity B 的原因。

    如果需要更多说明,请添加您的评论。

关于android - 主页按钮上的错误 Activity 并开始更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25872714/

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