jel*_*ish 5 java android launchmode android-activity
我有一个围绕主要活动(主菜单)的应用程序.在每个其他应用程序中,有一个选项菜单项,指向此活动.
首先,我总是在选择此项目时启动一个新的主要活动.使用intent bundle,我确实告诉了主要的活动,我在一个新的开始时做的一些初始化是没有必要的.
但是,我不太喜欢整体行为.我偶然发现android:launchMode="SingleTask"这似乎有所帮助:现在我不会一直重建我的主菜单活动; 另外,如果我按下"后退"按钮,我会直接回到主屏幕.这感觉非常像一个适当的"主菜单".
我现在的问题是:如果我运行我的应用程序的另一个活动,按主页按钮,然后重新打开我的应用程序(例如使用"最后的应用程序"),然后我不会回到上一个活动,而是回到主要活动.其他活动被销毁.
任何想法如何实现行为,SingleTask而不仅仅能够返回到一个活动?
如果您的其他活动在 Android 中使用活动默认值正常声明,那么返回您的应用程序应该会将您带到您上次离开的同一活动(使用硬件主页按钮)
但请记住,Android 系统会在需要系统资源时杀死应用程序。因此,当您访问其他应用程序时,您的应用程序可能已被终止。然后,当您返回应用程序时,默认启动器活动将重新启动,即您的菜单活动。
要从任何活动返回主要活动,请执行以下操作:
public static void goHome(Context context) {
final Intent intent = new Intent(context, HomeActivity.class); //give name of your main activity class here
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)
这将清除活动堆栈并让您返回主要活动。当您声明 singleTop 时,它将把现有的主要活动带到前台。Intent.FLAG_ACTIVITY_CLEAR_TOP 标志将删除堆栈中主活动顶部的所有活动。(我假设您在同一个应用程序中)。
现在,所有其他活动只需要包含一个按钮,其单击侦听器会调用该方法goHome();
在您的主要活动中,如果您按下硬件后退按钮,它应该退出您的应用程序。
| 归档时间: |
|
| 查看次数: |
7048 次 |
| 最近记录: |