当前位置:首页 > Android > 正文内容

Android 只开启一个Activity实例

jsc10年前 (2016-04-07)Android3525

在一个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);


扫描二维码推送至手机访问。

版权声明:本文由微小站发布,如需转载请注明出处。

本文链接:https://jsc0.com/post/106.html

标签: 单例
分享给朋友:

“ Android 只开启一个Activity实例 ” 的相关文章

java.util.Properties类

java.util.Properties类

一、认识properties文件   1、properties文件是一个文本文件 2、properties文件的语法有两种,一种是注释,一种属性配置。  注    释...

android上传图片至服务器

本实例实现了android上传手机图片至服务器,服务器进行保存服务器servlet代码publicvoid doPost(HttpServletRequest request, HttpServletResponse response)  ...

Android SharedPreferences PreperenceScreen 偏好数据存取

SharedPreferences是一个接口,程序是无法创建SharedPreferences实例的,1、Context.getSharedPreferences(String name,int mode)来得到一个指定name的SharedPreferences实例2、PreferenceMana...

Android开发之资源文件存储

在android开发中,资源文件是我们使用频率最高的,无论是string,drawable,还是layout,这些资源都是我们经常使用到的,而且为我们的开始提供很多方便,不过我们平时接触的资源目录一般都是下面这三个。        /res...

获取Android手机中SD卡存储信息

SD卡作为手机的扩展存储设备,在手机中充当硬盘角色,可以让我们手机存放更多的数据以及多媒体等大体积文件。因此查看SD卡的内存就跟我们查看硬盘的剩余空间一样,是我们经常操作的一件事,那么在Android开发中,我们如何能获取SD卡的内存容量呢?首先,要获取SD卡上面的信息,必须先对SD卡有访问的权限,...

JAVA中使用JSON进行数据传递

最近在做一个基于JAVA Servlet的WEB应用以及对应的Anroid应用客户端的开发工作。其中,在接口的访问和数据的传输方面使用的比较多的是使用JSON对象来操作格式化数据:在服务器端采用JSON字符串来传递数据并在WEB前端或者Android客户端使用JSON来解析接收到的数据。首先,在JA...