android - 按主页按钮并返回后,不会返回到之前的 Activity

标签 android

Activity A 是一个闪屏。 Activity B 是一个单任务菜单屏幕。 Activity C 是一个没有历史记录的屏幕,它从图库中选择一张照片,并具有选择照片的内置 Intent 。 Activity D 是一个操作照片的屏幕。

我遇到的问题是,当我在 Activity D 中并选择主页按钮时,如果我选择再次启动应用程序,它会返回到 Activity A 以再次启动 Activity B,而不是在我所在的位置启动 Activity D离开了。但是,如果我使用最近的应用程序,它会按预期切换回 Activity D。因此,我的设置方式肯定存在一些容易出错的地方。但是,我应该期望它在这两种情况下都返回到 Activity D,以便用户可以继续返回到照片查看屏幕(Activity D)。

想法?

    <activity
        android:name="ActivityA"
        android:theme="@style/Theme.CustomDefaultStartup"
        android:noHistory="true"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:screenOrientation="sensorLandscape"
        android:launchMode="singleTask">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name="ActivityB"
        android:theme="@style/Theme.CustomDefault"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="@string/app_name"
        android:launchMode="singleTask">
        <intent-filter>
            <action  android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
        </intent-filter>
        <meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
                   android:resource="@xml/device_filter" />
    </activity>
    <activity 
        android:name="ActivityC"
        android:theme="@style/Theme.CustomDefault"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="@string/app_name">
    </activity> 
    <activity 
        android:name="ActivityD"
        android:theme="@style/Theme.CustomDefault"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="@string/app_name">
    </activity>

最佳答案

显然是 Activity A 上的 android:launchMode="singleTask" 导致了问题。一旦删除了闪屏中的 singleTask,行为就会按预期返回。不确定启动屏幕的 singleTask 来自哪里,但它可能是应用程序中保留了一段时间的错误。

删除后,按下主页按钮并返回应用程序后,Activity D 不再启动启动屏幕和以下菜单。虽然我并不完全理解为什么这会在事件的生命周期中导致它,但这为我解决了这个问题。

关于android - 按主页按钮并返回后,不会返回到之前的 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19909731/

相关文章:

java - Android URISyntaxException 索引 53 处查询中存在非法字符

java - Android Studio : android. jar 缺少一些类

android - 更新 parse.com 中的现有记录不工作它做重复

java - EventBus 粘性事件是否在订阅者方法上自动删除?

java - 单击按钮时不重复 Java 中的单词 - Android 应用程序

android - onSensorChanged 在 sleep 后约 5 分钟不工作,直到应用程序打开。

android - 过滤 SimpleAdapter 时出现 IndexOutOfBoundException

android - 是否有一个命令可以用来在 Linux 命令行上对修改后的 apk 进行签名?

android - Android 中的平移/展开 View / Canvas

android - Keras深度学习模型到android