你能够通过用“android.intent.action.MAIN”和“android.intent.category.LAUNCHER”分别给Intent过滤器指定行为和类别,从而创建一个Activity作为一个任务的入口。例如:
<activity ... >
<intent-filter ... >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
...
</activity>
这种类型的Intent会让对应的Activity的图标和标签显示在应用程序启动器中,给用户提供一种启动这个Activity和返回它创建的这个任务(在它被启动的后的任何时候)的方法。
第二中能够是重要的,用户必须能够离开一个任务,并且使用这个Activity的启动器返回这个任务。因为这个原因,标记Activity始终作为启动一个任务入口的启动模式有两种:singleTask和singleInstance,它们只应该在Activity有ACTION_MAIN和CATEGORY_LAUNCHER过滤器时使用。例如,可以想象一下如果缺少了这个过滤器会发生什么情况:一个Intent启动了一个标有singleTask的Activity,初始化了一个新的任务,并且用户花费了一些时间在这个任务中进行工作。然后用户按下Home按钮,这个任务被转到后台并且不再显示。现在因为在应用程序启动器中没有图标展现,用户就没有办法在返回到这个任务中。
注:本人转载系个人觉得翻译的很好,值得收藏,且自己回头看着方便。
如有兴趣请访问作者官方博客http://blog.csdn.net/FireOfStar
分享到:
相关推荐
文件"11_taskStack"可能包含了针对任务栈的实际编程示例,如通过不同的Intent Flag启动Activity,演示如何处理任务切换、回退以及Activity之间的关系。学习这部分内容,你可以更直观地理解任务栈的工作原理,并将其...
- **任务(Task)**:在Android中,任务是一系列按堆栈方式组织的Activity,它们共享相同的上下文,用户可以通过返回键逐个回退。任务可以看作是用户完成一项操作的一组界面。 - **任务管理器**:负责创建、维护和...
在安卓(Android)系统中,任务管理器是一个至关重要的组件,它负责监控和管理设备上运行的应用程序和服务。本资源“基于安卓Android的任务管理器源码.zip”提供了一个实现此类功能的源代码实例,这对于理解Android...
总之,Android任务管理器是Android系统的核心组成部分,它确保了用户界面的流畅切换和系统的高效运行。深入理解其源码不仅可以帮助我们更好地调试和优化应用,也能提升Android开发的专业素养。这份“Android任务管理...
总的来说,理解如何在Android中管理和利用Activity堆栈以及选择合适的方法(如ActivityGroup或Fragment)来实现自定义回退功能,对于开发具有深度导航的应用至关重要。随着Android API的不断更新,开发者应始终关注...
在"Activity堆栈管理demo"的源码分析中,开发者可能会详细讲解如何利用Android的IntentFlags和startActivityForResult()方法来控制Activity的启动模式和堆栈行为。此外,还可能介绍如何创建自定义的工具类,以便更...
- `android:launchMode`属性可以设置Activity的启动模式,如单实例、单任务等,影响Activity如何进栈和出栈。 8. **Activity的异常情况处理** - 当设备资源紧张或应用被系统杀死时,Android可能会销毁部分...
7. **Task和Back Stack**:Task是Activity的集合,它们按照启动顺序形成一个回退栈。理解Task的概念和如何通过FLAG_ACTIVITY_NEW_TASK等标志控制Activity在哪个Task中启动,对于构建多层级的导航结构很有帮助。 8. ...
任务管理器通过`ActivityStackSupervisor`类来管理这些任务栈,控制活动的回退行为和任务的切换。 4. **活动的启动过程**: 当一个活动启动时,AMS会调用`ActivityStackSupervisor`的`startActivityLocked()`方法...
在Android系统中,Activity的启动和切换被抽象为一个任务(Task)和一个堆栈(BackStack)。每当用户启动一个新的Activity,系统都会将它压入当前任务的堆栈中。当用户按下返回键或者通过其他方式退出Activity时,...
Android系统使用任务(Task)和回退栈(Back Stack)来管理Activity。每当启动一个新Activity时,它会被添加到当前Task的回退栈中。如果用户按下返回键,系统会从栈顶移除最近的Activity,回到前一个Activity。 7. **...
- **回退栈(Back Stack)**:用于管理Activity的回退行为,每次启动新的Activity,都会将其压入栈顶。按返回键时,会弹出栈顶的Activity并销毁。 3. **源码分析** 了解Activity的进出栈过程,需要研究Android...
Android提供了一些机制来清理Activity堆栈,例如finish()方法可以结束当前Activity,BACK键也可以回退到上一个Activity,达到清理栈的效果。 **启动任务** 启动任务通常是通过Intent启动新的Activity,系统会根据...
- **回退栈(Back Stack)**:Activity的回退栈遵循“后进先出”原则,当用户按下返回键时,最近的Activity会被弹出栈,直至关闭整个任务。 9. **启动任务 (Starting a Task)** - **启动新任务**:通过Intent设置...
Android使用任务(Task)和回退栈(Back Stack)来管理Activity。每个任务是一个Activity的堆栈,新的Activity被压入栈顶,按后进先出原则处理。按下设备的返回键,会弹出栈顶的Activity并销毁。 **源码分析** 博客...