ActivityFlags 枚举

定义

枚举多个类型返回的值,并将其作为多个类型的参数。

此枚举支持其成员值的按位组合。

[System.Flags]
public enum ActivityFlags
[<System.Flags>]
type ActivityFlags = 
继承
ActivityFlags
属性

字段

名称 说明
GrantReadUriPermission 1

如果已设置,则此意向的接收者将被授予对意向数据中的 URI 以及其 ClipData 中指定的任何 URI 执行读取操作的权限。

GrantWriteUriPermission 2

如果已设置,则此意向的接收者将被授予对意向数据中的 URI 以及其 ClipData 中指定的任何 URI 执行写入操作的权限。

FromBackground 4

可以由调用方设置,以指示此意向来自后台操作,而不是来自直接用户交互。

DebugLogResolution 8

可以启用调试的标志:设置后,日志消息将在解决此意向期间打印,以显示创建最终解析列表所找到的内容。

ExcludeStoppedPackages 16

如果已设置,此意向将不会与当前停止的包中的任何组件匹配。

IncludeStoppedPackages 32

如果设置,此意向将始终与当前停止的包中的任何组件匹配。

GrantPersistableUriPermission 64

与FLAG_GRANT_READ_URI_PERMISSION和/或FLAG_GRANT_WRITE_URI_PERMISSION结合使用时,可以在设备重启之间保留 URI 权限授予,直到使用 Context.revokeUriPermission(Uri,int) 显式吊销。 此标志仅提供可能持久保存的授予;接收应用程序必须调用 ContentResolver.takePersistableUriPermission(Uri,int)才能实际保留。

GrantPrefixUriPermission 128

与FLAG_GRANT_READ_URI_PERMISSION和/或FLAG_GRANT_WRITE_URI_PERMISSION结合使用时,URI 权限授予适用于与原始授予 URI 匹配的任何 URI。 (如果没有此标志,URI 必须与授予访问权限完全匹配。仅当前缀、颁发机构以及前缀定义的所有路径段都是完全匹配时,才会将另一个 URI 视为前缀匹配项。

DirectBootAuto 256

用于根据意向的直接启动感知和当前用户状态自动匹配的标志。 由于默认行为是自动应用当前用户状态,因此这实际上是一个 sentinel 值,不会根据查询的状态或缺失更改任何查询的输出。 相反,此值可与 StrictMode.VmPolicy.Builder.detectImplicitDirectBoot() 结合使用来检测调用方依赖隐式自动匹配时,而不是确认所需的显式行为。 常量值:256(0x00000100)

RequireDefault 512

如果在传递给 Context.startActivity() 的意向中设置,则仅当意向解析为单个结果时,此标志才会启动该意向。 如果不存在此类结果,或者系统选择器将显示,将引发 ActivityNotFoundException。

RequireNonBrowser 1024

如果在传递给 Context.startActivity() 的意向中设置,则仅当意向解析为不是浏览器的结果时,此标志才会启动该意向。 如果不存在此类结果,将引发 ActivityNotFoundException。

MatchExternal 2048

如果在传递给 Context.startActivity() 的 Intent 中设置,则如果设备上没有完整的应用可以处理该意向,则此标志将尝试启动即时应用。 尝试在外部解析即时应用时,支持以下意向属性:Intent.setAction(String) Intent.addCategory(String) Intent.setData(Uri) Intent.setType(String) Intent.setPackage(String) Intent.addFlags(int) 如果找不到即时应用,安装程序将启动以通知用户无法解析意向。 在不支持即时应用的设备上,将忽略该标志。 常量值:2048(0x00000800)

LaunchAdjacent 4096

此标志仅用于拆分屏幕多窗口模式。 如果可能,新活动将显示在启动活动旁边的活动。 这只能与FLAG_ACTIVITY_NEW_TASK结合使用。 此外,如果希望创建现有活动的新实例,则需要设置FLAG_ACTIVITY_MULTIPLE_TASK。

RetainInRecents 8192

默认情况下,当用户关闭文档时,FLAG_ACTIVITY_NEW_DOCUMENT创建的文档在其最近任务中删除其条目(但返回或可能完成)。 如果希望允许文档保留在最近一次中,以便可以重新启动文档,可以使用此标志。 设置并完成任务的活动后,最近访问项将保留在界面中供用户重新启动,例如顶级应用程序的最近项。 接收活动可以使用 R.attr.autoRemoveFromRecents 替代此请求,也可以通过 explcitly 调用 Activity.finishAndRemoveTask() 替代此请求。

TaskOnHome 16384

如果在传递给 Context.startActivity() 的 Intent 中设置,则此标志将导致新启动的任务放置在当前主活动任务(如果有)。 也就是说,从任务返回时,即使这不是他们看到的最后一个活动,也始终将用户返回到主页。 这只能与FLAG_ACTIVITY_NEW_TASK结合使用。

ClearTask 32768

如果在传递给 Context.startActivity() 的 Intent 中设置,则此标志将导致在启动活动之前清除与活动关联的任何现有任务。 也就是说,活动将成为其他空任务的新根目录,并且已完成任何旧活动。 这只能与FLAG_ACTIVITY_NEW_TASK结合使用。

NoAnimation 65536

如果在传递给 Context.startActivity() 的 Intent 中设置,此标志将阻止系统应用活动转换动画以转到下一个活动状态。 这并不意味着动画永远不会运行 -- 如果另一个活动更改发生在显示此处开始的活动之前未指定此标志,则将使用该转换。 当你要执行一系列活动操作时,可以很好地使用此标志,但用户看到的动画不应由第一个活动更改驱动,而应该由稍后的活动更改驱动。

ReorderToFront 131072

如果在传递给 Context.startActivity() 的 Intent 中设置,则此标志将导致启动的活动在任务历史记录堆栈的前面(如果已运行)。 例如,考虑由四个活动组成的任务:A、B、C、D。如果 D 调用 startActivity()的意向解析为活动 B 的组件,则 B 将转到历史记录堆栈的前面,并按以下结果顺序:A、C、D、B。如果还指定了FLAG_ACTIVITY_CLEAR_TOP,将忽略此标志。

NoUserAction 262144

如果已设置,此标志将阻止正常 Activity.onUserLeaveHint() 回调在暂停之前在当前最前端活动上发生,因为新启动的活动被带到前端。 通常,活动可以依赖该回调来指示显式用户操作已导致其活动移出前台。 回调在活动的生命周期中标记了一个适当的点,以消除它打算显示的任何通知,“直到用户看到它们”,例如闪烁的 LED。 如果活动是通过任何非用户驱动的事件(如电话呼叫回执或警报处理程序)启动的,则应将此标志传递给 Context.startActivity,确保暂停活动不认为用户已确认其通知。 常量值:262144(0x00040000)

ClearWhenTaskReset 524288

此常量在 API 级别 21 中已弃用。 从 API 21 开始,这与应使用FLAG_ACTIVITY_NEW_DOCUMENT相同,而不是使用。

NewDocument 524288

此标志用于将文档打开到此意向启动的活动的新任务中。 通过使用此标志或其等效属性,R.attr.documentLaunchMode 包含不同文档的同一活动的多个实例将显示在最近的任务列表中。 此活动属性形式的使用 R.attr.documentLaunchMode 优先于此处所述的意向标志。 属性窗体允许活动为所有活动启动器指定多个文档行为,而使用此标志需要启动活动的每个意向来指定它。 请注意,此标志的默认语义 w.r.t。活动完成后是否保留其最近使用的条目与使用 FLAG_ACTIVITY_NEW_TASK 和 R.attr.documentLaunchMode 不同 -- 如果此标志用于创建新的最近项,则默认情况下,该条目将在活动完成后删除。 可以使用 FLAG_ACTIVITY_RETAIN_IN_RECENTS 修改此行为。 FLAG_ACTIVITY_NEW_DOCUMENT可与FLAG_ACTIVITY_MULTIPLE_TASK结合使用。 单独使用时,它相当于指定 R.attr.documentLaunchMode =“intoExisting”的活动清单。 与 FLAG_ACTIVITY_MULTIPLE_TASK一起使用时,它等效于指定 R.attr.documentLaunchMode =“always”的活动清单。 当活动清单指定 R.attr.documentLaunchMode =“never”时,即使与FLAG_ACTIVITY_MULTIPLE_TASK一起忽略该标志。 有关详细信息,请参阅 R.attr.documentLaunchMode。 另请参阅:R.attr.documentLaunchMode FLAG_ACTIVITY_MULTIPLE_TASK常量值:524288(0x00080000)

LaunchedFromHistory 1048576

此标志通常不是由应用程序代码设置的,但如果从历史记录(longpress home 键)启动此活动,则由系统为你设置。

ReceiverVisibleToInstantApps 2097152

如果已设置,则广播对即时应用中的接收方可见。 默认情况下,即时应用不会接收广播。 此标志在即时应用使用时不起作用。

ResetTaskIfNeeded 2097152

如果已设置,并且此活动是在新任务中启动或引入现有任务的顶部,则会将其作为任务的前门启动。

BroughtToFront 4194304

此标志通常不是由应用程序代码设置的,而是按照 singleTask 模式的 launchMode 文档中所述由系统设置的。

ExcludeFromRecents 8388608

如果已设置,则新活动不会保留在最近启动的活动列表中。

PreviousIsTop 16777216

如果已设置并且此意向用于从现有活动启动新活动,则当前活动将不算作用于确定是否应将新意向传送到顶部而不是启动新意向的顶级活动。 上一个活动将用作顶部,假设当前活动将立即完成。

ForwardResult 33554432

如果已设置并且此意向用于从现有活动启动新活动,则现有活动的回复目标将传输到新活动。

ClearTop 67108864

如果已设置,并且正在启动的活动已在当前任务中运行,则不会启动该活动的新实例,则会关闭该活动上所有其他活动,并且此意向将作为新意向传递到(现在位于顶部)的旧活动。 例如,考虑由活动组成的任务:A、B、C、D。如果 D 调用 startActivity() 的意向解析为活动 B 的组件,则 C 和 D 将完成,B 接收给定的意向,从而导致堆栈现在为:A、B。上例中当前正在运行的活动 B 实例将接收从其 onNewIntent() 方法中开始的新意向,或者使用新意向自行完成并重启。 如果它已将其启动模式声明为“多个”(默认值),并且尚未在同一意向中设置FLAG_ACTIVITY_SINGLE_TOP,则它将完成并重新创建;对于所有其他启动模式,或者如果设置了FLAG_ACTIVITY_SINGLE_TOP,则此意向将传送到当前实例的 onNewIntent()。 此启动模式还可用于与FLAG_ACTIVITY_NEW_TASK结合使用:如果用于启动任务的根活动,它将将当前正在运行的任务实例引入前台,然后将其清除到其根状态。 例如,从通知管理器启动活动时,这特别有用。 有关任务的详细信息,请参阅“任务”和“后退堆栈”。 常量值:67108864(0x04000000)

MultipleTask 134217728

除非要实现自己的顶级应用程序启动器,否则不要使用此标志。NewTaskalways

由于默认系统不包含图形任务管理,因此不应使用此标志,除非你为用户返回已启动的任务提供某种方法。

NewTask

有关任务的详细信息,请参阅 “任务”和“后退堆栈 ”。

ReceiverNoAbort 134217728

如果这是有序广播,则不允许接收方中止广播。 它们仍然可以将结果传播到以后的接收方,但不能阻止以后的接收方看到广播。

NewTask 268435456

如果已设置,此活动将成为此历史记录堆栈上新任务的开始。 任务(从启动它的活动到下一个任务活动)定义用户可以移动到的活动的原子组。 可以将任务移动到前台和后台;特定任务中的所有活动始终保持相同的顺序。 有关任务的详细信息,请参阅“任务”和“后退堆栈”。 此标志通常由想要呈现“启动器”样式行为的活动使用:它们为用户提供了可以完成的单独操作的列表,否则完全独立于启动它们的活动运行。 使用此标志时,如果任务已在为你正在启动的活动运行,则不会启动新活动;相反,当前任务将直接带到屏幕的前面,其状态是最后一个。 有关禁用此行为的标志,请参阅FLAG_ACTIVITY_MULTIPLE_TASK。 当调用方请求启动活动的结果时,不能使用此标志。 常量值:268435456(0x10000000)

ReceiverForeground 268435456

如果已设置,则在发送广播时,允许收件人以前台优先级运行,超时间隔较短。

ReceiverReplacePending 536870912

如果已设置,则发送广播时,新广播将替换与新广播匹配的任何现有挂起广播。 匹配由 Intent.filterEquals 为两个广播的意向返回 true 定义。 找到匹配项后,新的广播(和与之关联的接收方)将替换挂起的广播列表中的现有广播,这些广播将保留在该列表中的相同位置。 此标志通常用于粘滞广播,它只关心将广播的最新值传送到接收方。

SingleTop 536870912

如果已设置,则如果活动已在历史记录堆栈顶部运行,则不会启动活动。

NoHistory 1073741824

如果已设置,则新活动不会保留在历史记录堆栈中。

ReceiverRegisteredOnly 1073741824

如果已设置,则仅发送已注册的广播接收器时将调用 -- 不会启动 BroadcastReceiver 组件。

注解

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

适用于