android 如何同时启动两个活动?

zzoitvuj  于 2023-06-28  发布在  Android
关注(0)|答案(4)|浏览(226)

我想启动两个活动AB。我希望A在前景,B在背景。
在某些时候,我想切换两个Activity的顺序:A移到背景,B移到前景。

但是这里有三个不同的活动,活动A将在后台启动活动B,活动C将在前台启动

wdebmtf2

wdebmtf21#

您可以使用下面的链接在后台启动您的活动之一
Sending Activity to background without finishing
您想在前台启动的其他活动可以正常启动。

x8diyxa7

x8diyxa72#

你不会真的想这么做的。Android中的Activity旨在向用户显示并与之交互。如果您启动了多个“活动”,则无法保证您的其他“活动”在您需要显示时仍然存在。
也许这将有助于更多地了解你正在努力实现的目标。
如果你想让代码在后台运行,你应该考虑写一个ServiceAsyncTask
服务:http://developer.android.com/guide/topics/fundamentals/services.html
异步任务:http://developer.android.com/reference/android/os/AsyncTask.html

vyswwuz2

vyswwuz23#

你的问题不清楚,如果你问的是你是否可以同时开始两个活动?答案是否定的,Android的机制是一个Activity可以启动另一个Activity,依此类推。
阅读本文以获得有关如何启动和使用活动的更多参考。http://developer.android.com/guide/topics/fundamentals/activities.html
此外,阅读本文以了解如何在活动之间切换以获得所需的结果http://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.html

zfycwa2u

zfycwa2u4#

有两种方法可以做你想做的事情:
1.第一种方法是启动其中一个Activity(您希望“在后台”运行的Activity),然后让Activity立即启动另一个Activity(您希望“在前台”运行的Activity)(在onCreate()中)。当顶部Activity完成时,将显示另一个(“背景”Activity)。
1.第二种方法是简单地启动您希望处于“前台”的Activity。在此Activity中,您可以覆盖onBackPressed()以启动另一个(“后台”)Activity。这样,用户体验就如您所愿,但您不需要启动“后台”Activity,直到需要向用户显示它。根据您的要求,您还可以在这两个活动之间来回切换,只需使用Intent调用startActivity(),当您想要从一个Activity移动到另一个时,您已经设置了Intent.FLAG_ACTIVITY_REORDER_TO_FRONT。在这种情况下,Android将把目标Activity的现有示例带到任务的前面(如果存在),或者将启动目标Activity的新示例(如果不存在)。
但是,您的术语没有一个是正确的,这会在与其他开发人员沟通时导致问题。Activity既不在“前景”中,也不在“背景”中。这些术语在谈论任务时使用。当用户与任务进行交互时,任务处于“前台”,并显示在屏幕上。其他任务在“后台”中。一个任务由一个(或多个)Activity组成,它们以这样的方式堆叠,即最上面的Activity是用户正在与之交互的那个。任务中的其他活动不是“在后台”,它们只是暂停。

相关问题