`
iaiai
  • 浏览: 2211230 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android 只起一个Activity实例

 
阅读更多
在一个Activity中,多次调用startActivity()来启动另一个Activity,要想只生成一个Activity实例,方法有两种。

方法一:设置起动模式
一个Activity有四种启动模式:standard, singleTop, singleTask, singleInstance。
standard: 标准模式,一调用startActivity()方法就会产生一个新的实例。
singleTop: 如果已经有一个实例位于Activity栈的顶部时,就不产生新的实例,而只是调用Activity中的newInstance()方法。如果不位于栈顶,会产生一个新的实例。
singleTask: 会在一个新的task中产生这个实例,以后每次调用都会使用这个,不会去产生新的实例了。
singleInstance: 这个跟singleTask基本上是一样,只有一个区别:在这个模式下的Activity实例所处的task中,只能有这个activity实例,不能有其他的实例。

这些启动模式可以在功能清单文件中进行设置,<activity>中的launchMode属性。

方法二:在intent中加标志
Intent.FLAG_ACTIVITY_REORDER_TO_FRONT这个标志表示:如果这个activity已经启动了,就不产生新的activity,而只是把这个activity实例加到栈顶来就可以了。
代码如下:
Intent intent = new Intent(ReorderFour.this, ReorderTwo.class);  
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);  
startActivity(intent);
分享到:
评论

相关推荐

    Android 实现两个Activity跳转实例

    例如,从Activity A跳转到Activity B,可以在Activity A中创建一个Intent实例,指定目标Activity(即Activity B)并启动它: ```java Intent intent = new Intent(A.this, B.class); startActivity(intent); ``...

    Android 多个activity完全退出实例代码

    1、新建一个 ExitApplication 类继承Application 2、在你要退出的activity Oncreate方法中加入ExitApplication.getInstance().addActivity(this);作用是添加到你的activity历史中。 3、在你当前要完全退出程序的...

    Android 一次启动多个Activity (TaskStackBuilder)

    一个任务是一个可以包含多个Activity的容器,它们按照添加的顺序形成一个回退栈。用户可以通过按设备上的返回键从栈顶Activity回退到栈中的前一个Activity,直到任务被清空或者用户手动关闭应用。 TaskStackBuilder...

    Activity之间的跳转项目案例实现

    单实例模式下,所有启动请求都会指向同一个Activity实例,且它存在于单独的任务栈中。单任务模式会清除所有在其之上的Activity,使指定Activity成为栈底唯一实例。单栈顶模式则是在栈顶已经有该Activity实例时,不会...

    android两个activity的例子

    `Intent`对象在这里扮演了关键角色,它承载了从一个Activity到另一个Activity的数据传递。如果你需要在两个Activity之间传递数据,可以在创建`Intent`时使用`putExtra()`方法添加键值对,然后在接收方Activity中使用...

    activity值传递

    例如,如果使用SingleTask模式,当启动的Activity已经在栈顶,新的Intent不会创建新的Activity实例,而是调用onNewIntent()方法,此时需要在该方法中获取Intent数据。 6. **Intent Flag** 通过设置Intent的Flag,...

    Android Studio实例代码.zip_Android app实例_Android实例_android app源码_and

    本压缩包“Android Studio实例代码.zip”包含了多个Android app的实例源码,旨在帮助开发者深入理解并实践Android应用开发。 1. **Android Studio基础** Android Studio基于IntelliJ IDEA,提供了强大的代码编辑、...

    Android之Activity应用小例子

    当一个Activity启动另一个Activity时,后者会被压入栈顶,而按返回键则会从栈顶弹出当前Activity,回退到前一个Activity。这就是Android的导航模型。 总结来说,“Android之Activity应用小例子”主要涵盖了Activity...

    android点击按钮实现多个Activity滑动切换

    当我们需要在不同的界面之间切换时,通常会创建多个Activity实例。然而,传统的Activity切换方式是通过Intent启动新的Activity并覆盖当前Activity,这种方式并不具备滑动动画效果。 要实现滑动切换,我们可以借助...

    android中的Activity启动方式

    在一个新栈中创建该Activity实例,并让多个应用共享改栈中的该Activity实例。一旦改模式的Activity的实例存在于某个栈中,任何应用再激活改Activity时都会重用该栈中的实例,其效果相当于多个应用程序共享一个应用...

    Android动画实例,不同Activity跳转

    Android提供了四种启动模式:标准模式(standard)、单实例模式(singleInstance)、单任务模式(singleTask)和单栈顶模式(singleTop)。不同的启动模式会影响Activity如何创建和在任务堆栈中的行为,从而影响动画...

    Android中Activity启动模式demo

    在这种模式下,系统只会为该Activity创建一个实例,并且这个实例会位于一个独立的任务栈中。后续对这个Activity的启动请求都会重定向到这个已存在的实例,不会创建新的Activity。这意味着,无论从哪个任务启动这个...

    基于android的listview实例,还有activity之间的跳转

    本教程将详细介绍如何在Android中创建一个基于ListView的实例,并实现Activity之间的跳转。 一、ListView的使用 1. **布局文件**: 首先,我们需要在XML布局文件中定义ListView。例如,在`food_listview.xml`中: ...

    android Activity 四种启动模式例子

    因此,标准模式可能导致多个相同Activity实例存在于栈中。 2. singleTop(单顶模式) 当Activity设置为singleTop时,如果它在任务栈的顶部已经存在,那么新的启动请求不会创建新的实例,而是重用现有的实例。但是,...

    Fragment与Activity之间通信实例

    Fragment代表一个可重用的UI部分,而Activity则是程序中的一个窗口,它可以包含一个或多个Fragment。Fragment与Activity之间的通信是Android开发中常见的需求,特别是在创建复杂、动态布局时。本实例将深入探讨这一...

    android Activity实例

    本实例将深入探讨`Activity`的生命周期以及如何在一个`Activity`中启动另一个`Activity`。 首先,我们来详细解析`Activity`的生命周期。`Activity`的生命周期分为以下几个关键状态: 1. **创建(Created)**:当`...

    Android 销毁当前的Activity

    这个属性的作用是告诉 Android 系统,让应用程序来处理屏幕方向和键盘状态的改变,而不是由系统来销毁当前 Activity 然后重启一个新的实例。 但是,这只是第一步。我们还需要在 Java 代码的 Activity 子类中加入...

    android native activity项目

    本项目"android native activity"提供了创建和运行一个基本Native Activity的实例,适合对Android原生编程感兴趣的开发者学习。 首先,Native Activity是Android系统框架的一部分,由Android的libnative_activity....

    Android判断栈顶activity;打印当前最顶层的activity类名;采用服务后台运行获取当前activity类名;

    Android判断栈顶activity;打印当前最顶层的activity类名;采用服务后台运行获取当前activity类名;是一个demo App,使用Android studio工具打开,有需要的可以自行下载;

    一个Activity跳转到另外一个Activity

    代码主要实现从一个Activity跳转到另外一个Activity

Global site tag (gtag.js) - Google Analytics