在一个

方法一:设置起动模式

一个Activity有四种启动模式:standard, singleTop, singleTask,

singleInstance。

standard: 标准模式,一调用startActivity()方法就会产生一个新的实例。

singleTop:

如果已经有一个实例位于Activity栈的顶部时,就不产生新的实例,而只是调用Activity中的newInstance()方法。如果不位于栈顶,会产生一个新的实例。

singleTask: 会在一个新的task中产生这个实例,以后每次调用都会使用这个,不会去产生新的实例了。

singleInstance:

这个跟singleTask基本上是一样,只有一个区别:在这个模式下的Activity实例所处的task中,只能有这个activity实例,不能有其他的实例。

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

方法二:在intent中加标志

Intent.FLAG_ACTIVITY_REORDER_TO_FRONT这个标志表示:如果这个activity已经启动了,就不产生新的activity,而只是把这个activity实例加到栈顶来就可以了。

代码如下:

Java代码

Intent intent = new Intent(ReorderFour.this,

ReorderTwo.class);

intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);

startActivity(intent);

=======================我是华丽的分割线=======================

问题:

操作步骤如下:

1、将启动页的

2、按home键,将

3、再点击启动页对应的程序图标。

4、程序会显示启动页,而没有显示它打开的activity。

安装

但是,从程序从前台切到后台,再切回前台后,为什么它没有显示activity堆栈最顶端的activity呢,而是显示了root页面,也就是启动页呢?

有没有办法可以让launchMode设置成singleTask后,仍然像设置成standard一样,在从后台切换回程序时,显示启动页打开的activity(栈顶的activity)啊?

回复1:

“singleTask” activity allows other activities to be part of its

task. It’s always at the root of its task, but other activities

(necessarily “standard” and “singleTop” activities) can be launched

into that task.

这是文档中的说明,那么既然是只有一个启动页,你从程序从前台切到后台,再切回前台后,相当于还是要启动程序吧?

既然你要启动程序是不是要启动这个唯一的启动页呢?

所以就到了楼主所说的结果。

第二,其实感觉也挺简单的,直接将android:launchMode=”singleInstance”这样就应该可以了。

测试过,能达到楼主要求。

回复2:

1、“那么既然是只有一个启动页,你从程序从前台切到后台,再切回前台后,相当于还是要启动程序吧”。那为什么设置为“standard”的时候,能够显示栈顶的activity呢?

设置为standard的时候,允许有多个启动项, 也就是说, 可以从任意一个activity中启动,具体的请看文档。

2、设置成android:launchMode=”singleInstance”后,这样操作:由启动页打开一个activity,然后按回退键。被打开的activity不见了,但是启动页也不见了,直接显示手机的主界面,应该显示启动页才合理啊。

on the other hand, permits no other activities to be part of its

task. It’s the only activity in the task. If it starts another

activity, that activity is assigned to a different task — as if

FLAG_ACTIVITY_NEW_TASK was in the intent.

文档中是这样说的,你设置成了singleInstance,. It’s the only activity in the

task。

也说了解决的办法,就是你开启acitivty跳转的时候,添加flag FLAG_ACTIVITY_NEW_TASK 即可。

android 多个启动页,Android启动页的问题整理相关推荐

  1. 【Android学习笔记】设置App启动页

    先将启动页放到项目资源中,图片一般是1080*1920的jpg. 新建一个activity,如图: 创建成功之后,打开刚刚创建的activity,来进行代码的编写: public class BZLa ...

  2. android开发启动画面,Android开发笔记——如何正确实现App启动页

    启动页在当前的Android APP中有着广泛的使用,在Material Design规范出来之前,Android官方是不推荐使用启动页的,理由是让用户在启动APP后干等是一种浪费时间的行为.Mate ...

  3. android 启动页_App启动优化一顿操作猛如虎

    前言 本次主要内容包括: 针对App启动优化我们做了哪些工作? 1.App启动优化方向:视觉体验优化 2.App启动优化方向:代码逻辑优化 一.App启动优化方向:视觉体验优化 App启动时白屏问题 ...

  4. 基于 Google Flutter 的 WanAndroid 客户端,支持 Android 和 iOS。包括 BLoC、RxDart 、国际化、主题色、启动页、引导页,拥有较好的项目结构比较规范的代

    flutter_wanandroid 项目地址:Sky24n/flutter_wanandroid  简介:??? 基于 Google Flutter 的 WanAndroid 客户端,支持 Andr ...

  5. android启动页使用gif,android中使用react-native设置应用启动页过程详解

    一.背景 在我们使用react-native进行编写代码的时候,当启动应用的时候,我们会看到如下界面 然而,这样的启动界面是非常的不又好,那么我们该怎么进行处理启动界面呢?有如下两种方案 二.方案 1 ...

  6. 【Android 小功能】启动 App 时实现启动页、引导页功能,并且只在第一次启动 App 时跳入引导页面

    [Android]如何实现启动APP时引导页.欢迎页功能之(一)引导页功能的实现 [Android]如何实现启动APP时引导页.欢迎页功能设置之(二)设置只在第一次启动APP时跳入引导界面

  7. android 闪屏引导,启动体验设计-闪屏,启动页,引导页

    冷启动(cold start) 冷启动是指应用尚未运行,系统创建进程并初始化应用. 热启动是指应用已经运行但是在后台被挂起,从后台恢复应用. 冷启动时间稍微会长一点,在此期间可能会看到白屏或黑屏或感受 ...

  8. 【Android】如何实现启动APP时引导页、欢迎页功能设置之(二)设置只在第一次启动APP时跳入引导界面

    这会先看效果图: (二)设置欢迎页并判断是否程序实第一次开启,来判断是否加载引导页. 实现关键功能: 1.欢迎页面的定时设置 2.判断 程序是否是第一次启动,如果是则跳入引导页,否则跳入主界面 3.记 ...

  9. android 系统锁屏音乐播放器,Android实现音乐播放器锁屏页

    本文实例为大家分享了Android音乐播放器锁屏页的具体代码,供大家参考,具体内容如下 首页我们先看一下效果图 下边来说一下实现逻辑,其主要思路就是新建一个activity使其覆盖在锁屏页上边. 一. ...

  10. Android Bug分析系列:第三方平台安装app启动后,home键回到桌面后点击app启动时会再次启动入口类bug的原因剖析...

    前言 前些天,测试MM发现了一个比较奇怪的bug. 具体表现是: 1.将app包通过电脑QQ传送到手机QQ上面,点击安装,安装后选择打开app (此间的应用逻辑应该是要触发 [闪屏页Activity] ...

最新文章

  1. 【MongoDB异常】Exception authenticating MongoCredential解决方法
  2. 与Andrey Breslav谈论Kotlin 1.0的发布
  3. C++中类成员函数的重载、覆盖和隐藏的区别,超清楚!
  4. Android7.0适配方案
  5. qpython3调用adb_Python实现的基于ADB的Android远程工具
  6. 如何删除mysql软链接,Linux中移除(删除)符号链接的命令
  7. 随手记_英语_学术写作
  8. java字符串下标替换_java字符串下标替换
  9. react:customize-cra修改webpack配置
  10. 普适计算的六大必备条件
  11. 【MOGDB/openGauss的txid_snapshot 数据类型和相关函数】
  12. 【观察】美达电器:以数字化重塑质量管理体系,构筑车企新“护城河”
  13. rancher k8s集群pod一直处于Pending状态
  14. 点击input文本框,文字消失 JS
  15. android 友盟统计功能,在Android工程中集成友盟统计
  16. 万向节死锁的理解与CS摄像机减少死锁的简单实现
  17. python大数据作业-客户价值分析-实训头歌
  18. 刷脸支付降本增效更快更便捷的支付体验
  19. 人脸识别数据安全要求
  20. 学计算机笔画,笔画宝宝(适合3-8岁儿童识字和学写字)

热门文章

  1. Eclipse搭建Cocos2d-x运行环境问题汇总(不含CygWin)
  2. SQL Server 数据库构架
  3. linux删除文件操作
  4. dbc连接mysql_Spring WebFlux 使用 R2DBC 访问 MySQL
  5. workbench拓扑优化教程_优化技术在水泵水力设计的应用(上篇)
  6. Ubuntu17.04 之 systemd 设置开机启动
  7. nginx反向代理配置 多个_实例分享:Nginx学习之反向代理WebSocket配置实例
  8. JDK源码学习之Arraylist与LinkedList
  9. linux如何输出当前时间,如何在linux下输出当前时间
  10. python实现哈希表