android-Android activity 的启动模式。新人提问,大侠在哪????????

问题描述

Android activity 的启动模式。新人提问,大侠在哪????????

先看两个activity的xml配置
第一个MainActivity

 <activity
        android:name="com.example.tasktest.MainActivity"
        android:taskAffinity="test"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

第二个SecondActivity

 <activity
        android:taskAffinity="nest"
        android:name="com.example.tasktest.SecondActivity"
        android:parentActivityName="com.example.tasktest.MainActivity"></activity>

接着我在MainActivity中启动SecondActivity

   Intent intent = new Intent(MainActivity.this,SecondActivity.clas);
    intent.setFlag(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);

我进行了一系列的操作:
我从MainActivity跳到SecondActivity后,按back键和actionBar上的back(就是左上角那个返回)都能很好返回MainActivity,但是当我在SecondActivity界面按了home键后再调出recent app 界面,进入到SecondActivity 界面,按Actionbar的back(就是左上角的返回键)是可以回到MainActivity界面,但是按back 键是直接回到home界面了。
我的疑问:
1.ActionBar的返回和back键的返回机制是不同的吗?
2.如果说在不同的task中的activity是不能返回的,那为什么在我没按home键之前不同task中的MainActivity和SecondActivity是可以返回的?

Android小白,求大神指点。先在此谢过。。。

解决方案

Home在低版本有些机型上和Back键一样处理,但是到高版本了,很多机型得不到事件,有的人会甚至通过系统Log来找突破口,总之Home已经不鼓励人为干扰
按back键退到Main再退就退出了

时间: 2025-01-26 22:51:36

android-Android activity 的启动模式。新人提问,大侠在哪????????的相关文章

Android中activity的启动模式

activity的启动模式一共有四种:standard.singleTop.singleTask和singleInstance,可以在AndroidMannifest.xml中通过给<activity>标签指定android:launchMode属性来选择启动模式. 1.standard 是活动默认的启动模式,Android是使用返回栈来管理活动,standard模式下,每启动一个新的活动,它就会在返回栈中入栈,并处于栈顶位置.系统不会在乎这个活动是否已经在返回栈中存在,每次启动都会创建该活动

Android开发9——Activity的启动模式

在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作.在Android中Activity的启动模式决定了Activity的启动运行方式. 一.Activity启动模式设置 <activity android:name=".MainActivity" android:launchMode="standard" />     二.Activity的四种启动模式 standard模式启动模式,每次激活A

Activity学习(二):Activity的启动模式(转载)

在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作.在Android中Activity的启动模式决定了Activity的启动运行方式. Android总Activity的启动模式分为四种: [html] view plaincopy Activity启动模式设置:              <activity android:name=".MainActivity" android:launchMode="st

android中Activity的singletask模式弹出栈的问题

问题描述 android中Activity的singletask模式弹出栈的问题 07-14 17:48:53.218: E/First(8272): onDestroy 07-14 17:48:53.226: E/Second(8272): onDestroy 07-14 17:48:53.226: E/Third(8272): onPause 07-14 17:48:53.250: E/MAIN(8272): onRestart 07-14 17:48:53.250: E/MAIN(8272

activity的启动模式和栈管理

 在学习Android的过程中,Intent是我们最常用Android用于进程内或进程间通信的机制,其底层的通信是以Binder机制实现的,在物理层则是通过共享内存的方式实现的.     Intent主要用于2种情景下:(1)发起意图  (2)广播     它的属性有:ComponentName,action,data,category,extras,flags等,通常情况下,进行Intent的匹配涉及到3个属性:Action,Data,Category.这些东西都需要了解才能对它有个深入的体会

Android LaunchMode四种启动模式详细介绍

Android LaunchMode详解 越是做的时间越长,基础知识就忘的越干净,最近做一个项目中,发现启动的几个Activity居然重叠了,我ri--,再不回忆一下就要退出Android界了. 概念解释 Task Task叫做任务,这个简单,表示我们需要完成的事情,注意,这里我们说的是任务,是个名词,例如要发短信,那我们的任务就是发送一条短信,仅此而已,再例如教官说:"张三,你去吃屎!",ok,那张三的任务就是吃屎. Back Stack 我们常叫做回退栈,或者是任务栈,这个是什么意

Android中Activity的启动流程和组织管理方式(Backstack、Task)

前言: Android对Activity的组织管理会引入一些名词概念术语,像Stack.Task等,本文会做简单介绍.Activity的启动.切换以及组织管理会受不同的配置和属性的影响,本文会简单介绍一些相对重要和典型的概念,比如BackStack.Affinity. 文章目录: • 概述• Launcher启动Activity• 应用内启动子Activity• 锁屏状态下启动Activity• Stack.Task.BackStack.Affinity 此文章原始是PPT格式已转换为PDF,请

Android中Activity启动模式详解,可以控制程序按home键后进来还会调用一个自己不喜欢的界面

其实这是很简单的一个问题.但是这还是要对android中activity的启动模式有相当的理解才行,当点击home键的时候,懂Android的人都知道,他会把当前activity放到后退栈中, 栈(Stack)又称堆栈,它是一种运算受限的线性表,其限制是仅允许在表的一端进行插入和删除运算.人们把此端称为栈顶,栈顶的第一个元素被称为栈顶元素,相对地,把另一端称为栈底.向一个栈插入新元素又称为进栈或入栈,它是把该元素放到栈顶元素的上面,使之成为新的栈顶元素:从一个栈删除元素又称为出栈或退栈,它是把栈

简单介绍Android中Activity的四种启动模式_Android

在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作.在Android中Activity的启动模式决定了Activity的启动运行方式. Activity有四种启动模式: 1. standard,默认的启动模式,只要激活Activity,就会创建一个新的实例,并放入任务栈中,这样任务栈中可能同时有一个Activity的多个实例. 2. singleTop,激活Activity时,如果栈顶是这个Activity,就不会创建新的实例:如果栈顶