gpt4 book ai didi

android - 当谈到前景时杀死 Activity

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:12:31 25 4
gpt4 key购买 nike

我正在编写一个应用程序,但遇到了一个问题。我有三个 Activity A、B 和 C。当我从 Activity A 转到 B 和 B 到 C 时,如果我按下设备上的菜单按钮。我的应用程序进入后台状态.当我重新打开应用程序时它显示 Activity C。我希望当我重新打开我的应用程序时它应该显示 Activity A 而不是 Activity 堆栈中的任何其他 Activity 。我已经完成了一些 Activity 生命周期方法并尝试覆盖它。我已经覆盖了 onStart() 、 onPause() 方法和 finsh Activity C 以及 Activity B,我面临的问题是当我从 Activity C 转到 Activity D Activity 时C 完成所有后台 Activity n m 无法在 Activity D 完成时返回 Activity C。任何人都可以帮助我如何在申请简历上显示具体 Activity ?提前致谢。

这是我的 manifest.xml

<uses-sdk android:minSdkVersion="4" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >

<activity
android:label="@string/app_name"
android:name="com.buttonpay.Login"
android:screenOrientation="portrait"
android:clearTaskOnLaunch="true" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>


<activity android:name=".ButtonPayActivity"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:screenOrientation="portrait"/>


<!-- HomeTab Activity -->

<activity android:name="com.buttonpay.home.Utilities"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:screenOrientation="portrait"/>


<activity android:name="com.buttonpay.home.Top_up"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:screenOrientation="portrait"/>
<activity android:name="com.buttonpay.home.HomeScreen"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:screenOrientation="portrait"/>

<activity android:name="com.buttonpay.home.MyAccount"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:screenOrientation="portrait"/>
<activity android:name="com.buttonpay.home.TransactionHistory"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:screenOrientation="portrait"/>
<activity android:name="com.buttonpay.home.TransactionDetailsActivity"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:screenOrientation="portrait"/>
<activity android:name="com.buttonpay.home.TransactionList"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:screenOrientation="portrait"/>
<activity android:name="com.buttonpay.home.BusinessSummaryActivity"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:screenOrientation="portrait"/>
<activity android:name=".home.MobileMoneyActivity"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:screenOrientation="portrait"/>


<!-- balance tab Activity -->
<activity android:name="com.buttonpay.balance.BalanceTab"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
/>



<!-- Favouritetab Activity -->
<activity android:name="com.buttonpay.favourite.FavouriteTab"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
/>

<!-- ComingSoon -->
<activity android:name="com.buttonpay.home.ComingSoon"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:screenOrientation="portrait"/>

<!-- Settings -->
<activity android:name="com.buttonpay.settings.SettingList"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:screenOrientation="portrait"/>



</application>

最佳答案

在 list 中,在您的根 Activity (即在您的应用程序中启动的第一个 Activity ,具有 ACTION_MAIN 和 CATEGORY_LAUNCHER 的 Activity )上进行设置:

android:clearTaskOnLaunch="true"

您无需执行任何其他操作。不覆盖生命周期方法。

EDIT 在一些实证实验后添加额外的信息:

您需要确保您的根 Activity 始终在任务的 Activity 堆栈中才能使这项工作正常进行。这意味着您不能在 根 Activity 上调用 finish() 直到用户真正想要退出您的应用程序(即:当他在您的应用程序中按下 BACK 键时根 Activity )。

在您的示例中,您有一个 LoginActivity、MenuActivity 和 DescriptionActivity,而 LoginActivity 是根 Activity 。当 LoginActivity 启动 MenuActivity 时,它无法自行调用 finish()。在这种情况下,当用户在 MenuActivity 中按下 BACK 键时,它将返回到 LoginActivity。如果这不是您想要的,那么您需要在您已经启动 MenuActivity 的 LoginActivity 中设置一个标志,当 onResume() 被调用时,您可以检查该标志以确定您是否从 MenuActivity 返回,在这种情况下,您可以立即调用 finish()

关于android - 当谈到前景时杀死 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12072255/

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