Android:excludeFromRecents属性使用分析

开发 前端
如果设置属性的Activity正是当前正在使用的,切换到最近任务列表也是可以看到的。但是退到后台运行后,比如按下Home键,属性就会发生作用。

在Android开发中,android:excludeFromRecents 属性,通常在AndroidManifest.xml文件添加在<activity>标签中,用于指示系统是否应该将该Activity排除在最近任务列表之外。

属性值:

  • true:该 Activity 将不会出现在“最近任务”列表中。
  • false(默认值):该 Activity 会出现在“最近任务”列表中。

设置为true时,将无法从最近任务列表中看到或选择该Activity的实例。通常用于那些不需要或不应该被重新激活的临时或辅助Activity。要注意属于同个taskAffinity的Activity都不会出现。

在AndroidManifest.xml中设置此属性的示例如下:

<activity 
    android:name=".MainActivity"
    android:exported="true"
    android:excludeFromRecents="true">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
 
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

使用场景:

  1. 「临时或辅助屏幕」:一些临时或辅助屏幕,通常不需要再次访问,可以将这些屏幕对应的Activity设置为"true"。
  2. 「登录或一次性流程」:例如,在登录流程中,可能不需要重新访问登录屏幕,可以将登录Activity设置为"true"。
  3. 「保护用户隐私」:对于某些包含敏感信息的Activity,可能不希望在“最近任务”列表中可见,以防止其他用户或应用程序窥探到这些信息。

需要注意到的地方:

  • 将Activity设置为"true",Activity仍然会在其生命周期内正常运行,并且可以通过其他方式(如Intent)被启动。
  • android:excludeFromRecents属性并不是仅仅影响被设置的Activity。由此该Activity启动的后续同属一个Task的一系列Activity都不会出现在最近任务列表中。也就是说该属性会对Task起作用的,而不仅仅是针对某个Activity。
  • 如果要后续的Activity能够出现在最近任务列表中,就需要让后续Activity在新的Task中。
  • 想要属性生效设置该属性的Activity必须是Task的根Activity。如果在某个Task非根Activity中设置 android:excludeFromRecents是没有任何效果的。
  • 如果设置属性的Activity正是当前正在使用的,切换到最近任务列表也是可以看到的。但是退到后台运行后,比如按下Home键,属性就会发生作用。
责任编辑:武晓燕 来源: 沐雨花飞蝶
相关推荐

2017-06-12 18:48:00

Android性能分析工具

2009-09-23 13:33:51

Hibernate属性

2009-08-26 16:46:06

C# ThreadSt

2014-11-14 10:57:24

Android控件

2015-03-03 15:59:25

Android开发属性

2014-07-14 17:35:29

Activity

2013-04-07 10:09:00

Android开发TextView属性

2013-07-23 06:56:12

Android内存机制APP内存使用情况Android开发学习

2013-06-08 13:07:54

Android开发Android UILayout XML属

2010-09-06 10:21:15

CSS 列表

2009-06-15 17:48:32

Spring注解注入属性

2009-12-24 15:51:34

ADO属性

2009-10-13 09:24:57

VB.NET Dock

2011-05-31 09:36:46

Android 布局属性

2013-05-14 10:27:46

Android开发设置程序属性

2010-08-30 12:54:59

CSSmargin

2012-03-20 10:09:27

JavaBean

2010-09-10 10:47:47

CSSposition

2010-08-31 13:14:41

CSSoverflow

2013-04-01 14:35:10

Android开发Android自定义x
点赞
收藏

51CTO技术栈公众号