android 多个启动页,Android启动页的问题整理

在一个

方法一:设置起动模式

一个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 即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467348.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用一句话证明你是程序员,你会怎么说

这个文章没有正文突然想到的一个话题,感觉很有意思如果用一句话透露出你是一个程序员你会怎么表露自己了?留言偷偷告诉我?

新年来了,上海求职,路过看看

学历:信息管理专科,(半个本科,今年才能毕业,自考)出生:1980年2月IT技能:.net(C#)基本熟练掌握能理解多层构架,并运用到项目中去OOP思想基本掌握java略懂设计模式与UML入门…

Node.js mimimn图片批量下载爬虫 1.00

这个爬虫在Referer设置上和其它爬虫相比有特殊性。代码: // // mimimn图片批量下载Node.js爬虫1.00 // 2017年11月15日 //// 内置http模块 var httpsrequire("https");// 内置文件处理模块,用于创建目录和图片文件 var fsrequire(fs);// cheer…

空间换时间,查表法的经典例子

前言 上一篇分享了:C语言精华知识:表驱动法编程实践这一篇再分享一个查表法经典的例子。我们怎么衡量一个函数/代码块/算法的优劣呢?这需要从多个角度看待。本篇笔记我们先不考虑代码可读性、规范性、可移植性那些角度。在我们嵌入式中&#…

2005年度国产空间信息系统软件测评

基础平台软件: MapGIS7.0(武汉中地信息工程有限公司)SuperMapGIS5.0(北京超图地理信息技术有限公司)GeoStarGIS(武汉吉奥信息技术有限公司)桌面软件:SuperMap Deskpro&#xff08…

vs2019新建android生成app,VS2017 VS2019创建离线安装包

VS2017&VS2019创建离线安装包微软教程下载安装引导程序以下链接均来自微软官网创建安装包命令以VS2017专业版为例,VS2019自带.NET 4.7.2相关内容,可去除相关add项管理员CMD cd到vs_professional.exe所在目录# 全部组件,比较大不推荐&…

九个数的全排列(避免重复出现)

题意:http://www.51nod.com/onlineJudge/questionCode.html#!problemId1384 使用标准库里面的next_permutation()函数,这个函数是生成所有比当前的字符串大的字符串,所以最开始经过sort()排序之后,要先打印出当前的字符串。C STL中…

Linux内核系统架构介绍

28年前(1991年8月26日)Linus公开Linux的代码,开启了一个伟大的时代。这篇文章从进程调度,内存管理,设备驱动,文件系统,网络等方面讲解Linux内核系统架构。Linux的系统架构是一个经典的设计,它优秀的分层和模…

ESFramework介绍之(14)-- AS与FS通信方案

前面我们已经多次提到,每个AS都有一组FS为之服务(回顾),AS将接收到的功能请求通过Tcp连接池 或Remoting转发给某个FS处理。下面我们将深入讨论AS和FS之间的通信机制。 首先要解决第一个问题,AS如何知道每个为之服务…

这道笔试题竟然运行不出错

#读者提供的面试题下面这张截图是一个读者在面试的时候遇到的题目,是哪个公司的我就不说出来了,我在微信朋友圈发了这个题目后,有几个好友给我留言说自己也写了这道题。题目:下面这段代码有什么问题?#后续然后我就用这…

android加号底部导航栏,EasyNavigation Android 底部导航栏████几行代码实现 Tab 导航(随意定制加号,带红点消息提示) @codeKK Android开源站...

几行代码轻松实现底部导航栏(Tab 文字图片高度随意更改);中间可添加加号按钮,也可添加文字;(足够的属性满足你需要实现的加号样式)如果还不能满足、中间可添加自定义 View;Tab 中随意添加小红点提示、数字消息提示;点击…

ASP.NET 2.0新特性视频教程下载

这里是下载页面 这是Framework 2.0下面新特性的系统视频讲座,英文的,说话讲得很清楚音质不错,英文好的朋友有福了.包含以下这些主题: 数据访问 MasterPage与站点导航 成员与角色 用户配置文件与主题 Web Part与个性化 输出缓存与SQL数据库缓存 部分页面缓存 本地化 向导控件与页…

在工厂的这几天

上周在工厂呆了6天支持我们产品量产,说下自己在工厂看到的一些事情,可能对大家对嵌入式行业有一定的认识,这样大家在选择方向会有些借鉴作用。产品由研发到生产是一个过程,只有经受过量产考验的产品,才能说这个产品真正…

android 4.4 下拉菜单 透明,4.2状态栏,下拉,全局透明教程

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼三、CM10全局透明教程步骤:1、反编译framework-res.apk,用文本编辑器打开res\values\styles.xml,这里说明一下,styles.xml就是主框架下的布局主题文件。用Notepad文本软件打开styles.…

ASP.NET中Cookie编程的基础知识

一、简介 Cookie 为 Web 应用程序保存用户相关信息提供了一种有用的方法。例如,当用户访问您的站点时,您可以利用 Cookie 保存用户首选项或其他信息,这样,当用户下次再访问您的站点时,应用程序就可以检索以前保存的信…

Arm华为NXP睿赛德大咖云集!2020中国嵌入式技术大会嘉宾揭晓

展会即将开幕▲扫码领门票从电子信息产业趋势看,以自动驾驶、智能机器人和智慧安防为代表的AIOT(智联网)正在成为新一轮科技创新制高点。5G 布置将大大提升端侧智能,助力AIOT 发展。从技术层面看,AIOT 是AI 技术嵌入到…

c语言变量加常量,C语言(二)---常量与变量(示例代码)

一、进制1.1 二进制1.1 简介二进制数据是用0和1两个数码来表示的数。它的基数是2,进位规则是“逢二进1”,借位规则是“借一当二”。当前的计算机系统使用的基本上是二进制系统。1.2 二进制数据表示法二进制没有2只有0和1,逢2进1,其…

使用CodeSmith要注意的几点

新的项目即将开始了,项目经理老蔡说上次项目的持久层框架不太适合B/S项目,原因是反射用得太多了,并且数据层内部自己又封装了好几层,所以决定从新设计一个执行效率更高的框架。 老蔡设计了下他构思好的持久层和数据层的接口&am…

Alsa里面恶心的DAPM

相关文章音频系统,Alsa 里面的buff 是怎么计算的?为什么需要超过48k的采样音频?我在MTK平台下调试音频ALSA音频几个重要的参数openwrt 音频开发(干货)Ai音箱和Linux音频驱动小谈Android 音频数据流分析之程序员干架产品经理正文做音频的很多初…

android 屏幕关闭 eofexception,android EOFException异常解决办法 (SharedPreferences保存对象)...

SharePreferences可以保存String 但是不能保存对象这不符合面向对象。为此可以通过序列化和反序列化将Serializable对象和字符串相互转化所以可以将Serizlizable对象转化为字符串保存到SharedPreferences中SharedPreferences.Editor localEditor settings.edit();localEditor.…