Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Android:启动模式“单实例”

Android:启动模式“单实例”
EN

Stack Overflow用户
提问于 2013-06-26 23:47:07
回答 2查看 16.6K关注 0票数 19

我正在查看单个实例的文档,并尝试了几个示例。在我的一个示例中,我有三个活动: A->B->C,其中B的清单中有android:launchMode="singleInstance“。活动A和C具有默认的启动模式。

场景:

在通过A和B导航到C(即A->B->C)后,从活动C按回按钮到活动A (C->A),但是活动A的后退按钮按压不会退出应用程序,而是将活动B放在前面,然后从活动B按后退按钮退出应用程序。

问题

为什么当按下活动A的后退按钮时,活动B就会出现在前台?

其他场景:

来自Activity的Similarliy,如果用户按下device按钮,然后通过long Home按下返回应用程序,C将保持在前台。但后退按钮按流采用C-> A ->退出应用程序。这一次活动B没有出现在前台。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-27 10:50:19

A->B导航后,有两个任务:第一个任务包含A,第二个任务包含BB在上面,A在那下面。

现在,当从B->C导航时,Android将活动C启动到包含A的任务中(它不能将其启动到包含B的任务中,因为B被定义为"singleInstance",,因此它启动到具有相同"taskAffinity",的任务--在本例中是包含A的任务)。为了做到这一点,Android把包含A的任务带到了最前面。现在有两个任务:前面包含A和C的任务,后面包含B的任务。

现在按后退键,它完成了活动C并返回到任务下面的活动,即C。您仍然有两个任务:前面包含C的任务和在任务下面包含B的任务。

现在你再按下后键。这样就完成了活动A(从而完成了保持A的任务),并将任务堆栈中的前一个任务带到了前面,即包含B的任务,您现在有一个任务:包含B的任务。

其他场景中,在从A->B->C导航之后,您将从两个任务开始:前面包含A和C的任务,后面包含B的任务。

现在你按下主页按钮。你现在说你的“通过长按压回到应用程序”。这不是完全正确的。你不能“回到应用程序”。你只能“回到任务”。但是你有两个不同的任务:如果你做一个长新闻,你应该看到这两个任务。它们可能有相同的图标(除非您为活动B提供了不同的图标),所以您可能无法区分它们。如果您选择包含A和C的任务,则该任务将被带到前面,活动C位于顶部。如果你现在按下后退键,活动C将完成,下面的活动将显示活动A。如果您现在再次按后退键,活动A将完成,您将返回到主屏幕。包含B的任务仍然在最近的任务列表中,但是它不再在其他任务下的任务堆栈中,因为当您按下HOME按钮时,它就像回到零。你重新开始。您没有活动任务,因此所有任务都在一行中,它们不在堆栈中,也没有层次结构。

此外,在您的问题中,您使用了短语“退出应用程序”。这也不太正确。后退按钮所做的唯一的事情就是完成当前的活动。如果当前活动是任务中的唯一活动,它也会完成该任务。然而,它并没有“退出应用程序”。特别是在你的情况下,因为你的“应用程序”实际上存在于两个不同的任务中。

希望这是清楚的。

票数 39
EN

Stack Overflow用户

发布于 2013-06-26 23:55:57

来自文档

  1. "singleInstance“活动只能开始一项任务。它们总是位于活动堆栈的根上。此外,设备一次只能容纳活动的一个实例--只有一个这样的任务。
  2. 另一方面,"singleInstance“活动不允许任何其他活动成为其任务的一部分。这是任务中唯一的活动。如果它启动了另一个活动,则将该活动分配给另一个任务。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17337536

复制
相关文章
区间/组合/复合/sql查询
$map['id'] = array(array('gt',3),array('lt',10), 'or') ;得到的查询条件是: ( id > 3) OR ( id < 10)
PM吃瓜
2019/08/12
1.1K0
区间/组合/复合/sql查询
用户窗体编程:实现组合框与文本框联动
在VBE中,插入一个类模块,将其重命名为“CComboboxes”。在该类模块中,输入代码:
fanjy
2023/09/27
6100
用户窗体编程:实现组合框与文本框联动
SQL学习之组合查询(UNION)
1、大多数的SQL查询只包含从一个或多个表中返回数据的单条SELECT语句,但是,SQL也允许执行多个查询(多条SELECT语句),并将结果作为一个查询结果集返回。这些组合查询通常称为并或复合查询。 主要有两种情况需要使用组合查询: (1)在一个查询中从不同的表返回结构数据 (2)对一个执行多个查询,按一个查询返回数据 2、使用UNION 使用UNION很简单,所要做的只是给出每条SELECT语句,然后再每条SELECT语句之间加上UNION关键字,这样所给出的SELECT结果集就能组合成一个结果集并返回。
郑小超.
2018/01/24
1.3K0
SQL学习之组合查询(UNION)
MySQL 组合查询及全文本搜索
使用union的规则:1.两条或两条以上的select语句;2.每个select语句必须包含相同的列,表达式或聚集函数;3.这些列可以以不同的次序出现;4.列的数据必须兼容。
小末快跑
2019/07/03
1.1K0
第14课 组合查询创建组合查询union的使用规则
组合查询很容易理解就是讲多个查询的结果放在一起显示 使用UNION关键字进行查询的组合
desperate633
2018/08/22
9730
表单文本框的使用(一) 选择文本
input和textarea都会在value属性保存自己的内容,可设置和读取文本框的值。在textarea中设置value属性无效
赤蓝紫
2023/03/16
1.7K0
表单文本框的使用(一)  选择文本
使用文本框TextView/EditText的清单
在实际的开发中TextView和EditText是非常基本的控件。这两个控件的使用也是十分简单。而TextView/EditText的功能其实也是非常强大,例如简单的图文就可以使用TextView配合Spannable来实现,以及TextView的drawableTop属性。
阳仔
2019/07/31
9260
使用文本框TextView/EditText的清单
sql中的嵌套查询_sql的多表数据嵌套查询
测试的时候发现取出的是一条数据, 因为测试的时候是一天中的两条数据, 没有不同的日期,所以当日以为是正确的 ,然而第二天写入数据了,要取出数据,却发现没有数据, 返回空的行, 以为都是代码又有问题 了,找了半天都没有 ,仔细看看了存储过程中的代码,发现这样返回的数据的确是空的。
全栈程序员站长
2022/09/22
7.1K0
ExcelVBA-ADO-SQL-003多条件组合查询(模糊查询)
假如现在有一个提交表单,里面是N个查询的条件(工号、姓名、性别、年龄、部门、工资、奖金)用户可以只填写其中的几个条件来进行查询。(也可以不填写条件)
哆哆Excel
2022/10/25
2.8K0
ExcelVBA-ADO-SQL-003多条件组合查询(模糊查询)
java中sql如何嵌套查找_SQL 查询嵌套使用[通俗易懂]
id int primary key auto_increment, — 主键id
全栈程序员站长
2022/09/22
4.3K0
java中sql如何嵌套查找_SQL 查询嵌套使用[通俗易懂]
组合查询
查询项目里面放着一个下拉框,下拉框里面每一项要对应到相应的查询内容这样才查询到内容,就比如说项目这里选到了款号了,查询内容就要写对应的款号内容,就不要写颜色这些。
PHY_68
2020/09/16
8730
组合查询
Power BI中的文本大写/小写自动更改现象
在处理一些英文姓名时,经常会发现,excel表中的大小写和Power BI中的不一样,这篇文章简单说明一下:
陈学谦
2021/12/08
4.3K0
Power BI中的文本大写/小写自动更改现象
SQL语句汇总(三)——聚合函数、分组、子查询及组合查询
分组中也可以加入筛选条件WHERE,不过这里一定要注意的是,执行顺序为:WHERE过滤→分组→聚合函数。牢记!
_DIY
2020/05/29
5.1K0
SQL语句汇总(三)——聚合函数、分组、子查询及组合查询
SecureCRT更改vim中#注释的文本内容颜色
今天在学习redis的时候,发现vim打开redis.conf配置文件的时候,#注释起来的代码是蓝色的,阅读起来很不方便。
上分如喝水
2021/08/16
6.2K0
SecureCRT更改vim中#注释的文本内容颜色
Flutter中的文本输入框组件TextField
1. maxLines 最大输入行。默认为单行输入框,配置此参数后则为多行输入框;
越陌度阡
2021/01/05
5.1K0
Flutter中的文本输入框组件TextField
Flat风格的Qml组合框
基于Qml的ComboBox控件修改而成。 组合框代码 import QtQuick 2.0 import QtQuick.Controls 2.0 import QtGraphicalEffect
Qt君
2019/12/16
1.2K0
python文本框事件_文本框事件
οnfοcus=”if(value==’文本框里的字’) {value=”}” οnblur=”if
全栈程序员站长
2022/11/01
3.3K0
ASP.NET中通过文本框的输入实现"拼音码"动态查询的效果
                  <asp:TextBox ID="TextBox1" runat="server" Style="position: relative" Width="200px"                      AutoPostBack="true" OnTextChanged="TextBox1_Changed"></asp:TextBox>                     <asp:Button ID="Button1" runat="server" Style="left: 400px; position: relative; top: 0px"                         Text="查询" OnClick="Button1_Click" />                     <asp:DropDownList ID="DropDownList1" runat="server"  Style="position: relative" Width="200px"                      CausesValidation="True" DataTextField="课程名称">                     </asp:DropDownList></td>
风柏杨4711
2021/03/15
1.4K0
sql中对嵌套查询的处理原则_sql的多表数据嵌套查询
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169416.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
5.7K0
点击加载更多

相似问题

添加新项时重复ListView项

34

Android ListView不显示新项。

15

ListView在添加新项时闪烁

21

切换到其他活动android studio时删除ListView项

10

如何将新项添加到ListView的底部,同时从顶部删除旧项?

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文