Intent.FLAG 属性大全

public static final int FLAG_ACTIVITY_BROUGHT_TO_FRONT

Added in  API level 1

This flag is not normally set by application code, but set for you by the system as described in the launchMode documentation for the singleTask mode.

Constant Value: 4194304 (0x00400000)

public static final int FLAG_ACTIVITY_CLEAR_TASK

Added in  API level 11

If set in an Intent passed to Context.startActivity(), this flag will cause any existing task that would be associated with the activity to be cleared before the activity is started. That is, the activity becomes the new root of an otherwise empty task, and any old activities are finished. This can only be used in conjunction with FLAG_ACTIVITY_NEW_TASK.

Constant Value: 32768 (0x00008000)

public static final int FLAG_ACTIVITY_CLEAR_TOP

Added in  API level 1

If set, and the activity being launched is already running in the current task, then instead of launching a new instance of that activity, all of the other activities on top of it will be closed and this Intent will be delivered to the (now on top) old activity as a new Intent.

For example, consider a task consisting of the activities: A, B, C, D. If D calls startActivity() with an Intent that resolves to the component of activity B, then C and D will be finished and B receive the given Intent, resulting in the stack now being: A, B.

The currently running instance of activity B in the above example will either receive the new intent you are starting here in its onNewIntent() method, or be itself finished and restarted with the new intent. If it has declared its launch mode to be "multiple" (the default) and you have not setFLAG_ACTIVITY_SINGLE_TOP in the same intent, then it will be finished and re-created; for all other launch modes or if FLAG_ACTIVITY_SINGLE_TOP is set then this Intent will be delivered to the current instance's onNewIntent().

This launch mode can also be used to good effect in conjunction with FLAG_ACTIVITY_NEW_TASK: if used to start the root activity of a task, it will bring any currently running instance of that task to the foreground, and then clear it to its root state. This is especially useful, for example, when launching an activity from the notification manager.

See Tasks and Back Stack for more information about tasks.

Constant Value: 67108864 (0x04000000)

public static final int FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET

Added in  API level 3

This constant was deprecated in API level 21.
As of API 21 this performs identically to FLAG_ACTIVITY_NEW_DOCUMENT which should be used instead of this.

Constant Value: 524288 (0x00080000)

public static final int FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS

Added in  API level 1

If set, the new activity is not kept in the list of recently launched activities.

Constant Value: 8388608 (0x00800000)

public static final int FLAG_ACTIVITY_FORWARD_RESULT

Added in  API level 1

If set and this intent is being used to launch a new activity from an existing one, then the reply target of the existing activity will be transfered to the new activity. This way the new activity can call setResult(int) and have that result sent back to the reply target of the original activity.

Constant Value: 33554432 (0x02000000)

public static final int FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY

Added in  API level 1

This flag is not normally set by application code, but set for you by the system if this activity is being launched from history (longpress home key).

Constant Value: 1048576 (0x00100000)

public static final int FLAG_ACTIVITY_MULTIPLE_TASK

Added in  API level 1

This flag is used to create a new task and launch an activity into it. This flag is always paired with either FLAG_ACTIVITY_NEW_DOCUMENT orFLAG_ACTIVITY_NEW_TASK. In both cases these flags alone would search through existing tasks for ones matching this Intent. Only if no such task is found would a new task be created. When paired with FLAG_ACTIVITY_MULTIPLE_TASK both of these behaviors are modified to skip the search for a matching task and unconditionally start a new task. When used with FLAG_ACTIVITY_NEW_TASK do not use this flag unless you are implementing your own top-level application launcher. Used in conjunction with FLAG_ACTIVITY_NEW_TASK to disable the behavior of bringing an existing task to the foreground. When set, a new task is always started to host the Activity for the Intent, regardless of whether there is already an existing task running the same thing.

Because the default system does not include graphical task management, you should not use this flag unless you provide some way for a user to return back to the tasks you have launched. See FLAG_ACTIVITY_NEW_DOCUMENT for details of this flag's use for creating new document tasks.

This flag is ignored if one of FLAG_ACTIVITY_NEW_TASK or FLAG_ACTIVITY_NEW_DOCUMENT is not also set.

See Tasks and Back Stack for more information about tasks.

See also:

  • FLAG_ACTIVITY_NEW_DOCUMENT
  • FLAG_ACTIVITY_NEW_TASK
Constant Value: 134217728 (0x08000000)

public static final int FLAG_ACTIVITY_NEW_DOCUMENT

Added in  API level 21

This flag is used to open a document into a new task rooted at the activity launched by this Intent. Through the use of this flag, or its equivalent attribute,documentLaunchMode multiple instances of the same activity containing different documents will appear in the recent tasks list.

The use of the activity attribute form of this, documentLaunchMode, is preferred over the Intent flag described here. The attribute form allows the Activity to specify multiple document behavior for all launchers of the Activity whereas using this flag requires each Intent that launches the Activity to specify it.

Note that the default semantics of this flag w.r.t. whether the recents entry for it is kept after the activity is finished is different than the use ofFLAG_ACTIVITY_NEW_TASK and documentLaunchMode -- if this flag is being used to create a new recents entry, then by default that entry will be removed once the activity is finished. You can modify this behavior with FLAG_ACTIVITY_RETAIN_IN_RECENTS.

FLAG_ACTIVITY_NEW_DOCUMENT may be used in conjunction with FLAG_ACTIVITY_MULTIPLE_TASK. When used alone it is the equivalent of the Activity manifest specifying documentLaunchMode="intoExisting". When used with FLAG_ACTIVITY_MULTIPLE_TASK it is the equivalent of the Activity manifest specifying documentLaunchMode="always". Refer to documentLaunchMode for more information.

See also:

  • documentLaunchMode
  • FLAG_ACTIVITY_MULTIPLE_TASK
Constant Value: 524288 (0x00080000)

public static final int FLAG_ACTIVITY_NEW_TASK

Added in  API level 1

If set, this activity will become the start of a new task on this history stack. A task (from the activity that started it to the next task activity) defines an atomic group of activities that the user can move to. Tasks can be moved to the foreground and background; all of the activities inside of a particular task always remain in the same order. See Tasks and Back Stack for more information about tasks.

This flag is generally used by activities that want to present a "launcher" style behavior: they give the user a list of separate things that can be done, which otherwise run completely independently of the activity launching them.

When using this flag, if a task is already running for the activity you are now starting, then a new activity will not be started; instead, the current task will simply be brought to the front of the screen with the state it was last in. See FLAG_ACTIVITY_MULTIPLE_TASK for a flag to disable this behavior.

This flag can not be used when the caller is requesting a result from the activity being launched.

Constant Value: 268435456 (0x10000000)

public static final int FLAG_ACTIVITY_NO_ANIMATION

Added in  API level 5

If set in an Intent passed to Context.startActivity(), this flag will prevent the system from applying an activity transition animation to go to the next activity state. This doesn't mean an animation will never run -- if another activity change happens that doesn't specify this flag before the activity started here is displayed, then that transition will be used. This flag can be put to good use when you are going to do a series of activity operations but the animation seen by the user shouldn't be driven by the first activity change but rather a later one.

Constant Value: 65536 (0x00010000)

public static final int FLAG_ACTIVITY_NO_HISTORY

Added in  API level 1

If set, the new activity is not kept in the history stack. As soon as the user navigates away from it, the activity is finished. This may also be set with thenoHistory attribute.

If set, onActivityResult() is never invoked when the current activity starts a new activity which sets a result and finishes.

Constant Value: 1073741824 (0x40000000)

public static final int FLAG_ACTIVITY_NO_USER_ACTION

Added in  API level 3

If set, this flag will prevent the normal onUserLeaveHint() callback from occurring on the current frontmost activity before it is paused as the newly-started activity is brought to the front.

Typically, an activity can rely on that callback to indicate that an explicit user action has caused their activity to be moved out of the foreground. The callback marks an appropriate point in the activity's lifecycle for it to dismiss any notifications that it intends to display "until the user has seen them," such as a blinking LED.

If an activity is ever started via any non-user-driven events such as phone-call receipt or an alarm handler, this flag should be passed toContext.startActivity, ensuring that the pausing activity does not think the user has acknowledged its notification.

Constant Value: 262144 (0x00040000)

public static final int FLAG_ACTIVITY_PREVIOUS_IS_TOP

Added in  API level 1

If set and this intent is being used to launch a new activity from an existing one, the current activity will not be counted as the top activity for deciding whether the new intent should be delivered to the top instead of starting a new one. The previous activity will be used as the top, with the assumption being that the current activity will finish itself immediately.

Constant Value: 16777216 (0x01000000)

public static final int FLAG_ACTIVITY_REORDER_TO_FRONT

Added in  API level 3

If set in an Intent passed to Context.startActivity(), this flag will cause the launched activity to be brought to the front of its task's history stack if it is already running.

For example, consider a task consisting of four activities: A, B, C, D. If D calls startActivity() with an Intent that resolves to the component of activity B, then B will be brought to the front of the history stack, with this resulting order: A, C, D, B. This flag will be ignored if FLAG_ACTIVITY_CLEAR_TOP is also specified.

Constant Value: 131072 (0x00020000)

public static final int FLAG_ACTIVITY_RESET_TASK_IF_NEEDED

Added in  API level 1

If set, and this activity is either being started in a new task or bringing to the top an existing task, then it will be launched as the front door of the task. This will result in the application of any affinities needed to have that task in the proper state (either moving activities to or from it), or simply resetting that task to its initial state if needed.

Constant Value: 2097152 (0x00200000)

public static final int FLAG_ACTIVITY_RETAIN_IN_RECENTS

Added in  API level 21

By default a document created by FLAG_ACTIVITY_NEW_DOCUMENT will have its entry in recent tasks removed when the user closes it (with back or however else it may finish()). If you would like to instead allow the document to be kept in recents so that it can be re-launched, you can use this flag. When set and the task's activity is finished, the recents entry will remain in the interface for the user to re-launch it, like a recents entry for a top-level application.

The receiving activity can override this request with autoRemoveFromRecents or by explcitly calling Activity.finishAndRemoveTask().

Constant Value: 8192 (0x00002000)

public static final int FLAG_ACTIVITY_SINGLE_TOP

Added in  API level 1

If set, the activity will not be launched if it is already running at the top of the history stack.

Constant Value: 536870912 (0x20000000)

public static final int FLAG_ACTIVITY_TASK_ON_HOME

Added in  API level 11

If set in an Intent passed to Context.startActivity(), this flag will cause a newly launching task to be placed on top of the current home activity task (if there is one). That is, pressing back from the task will always return the user to home even if that was not the last activity they saw. This can only be used in conjunction with FLAG_ACTIVITY_NEW_TASK.

Constant Value: 16384 (0x00004000)

更多相关文章

  1. Android 中 EditText 的 inputType 属性及其他常用属性详解
  2. Android studio gradle 生成字段属性值
  3. 在AndroidManifest.xml文件中的android:windowSoftInputMode属性
  4. Android 获取AndroidManifest.xml文件versionCode,versionName属
  5. ImageView的属性android:scaleType,即ImageView.setSca...
  6. Android TabLayout导航条属性的设置
  7. Android——ImageButton【图片按钮】的点击事件与属性

随机推荐

  1. Android实现Rxjava2+Retrofit完美封装
  2. Android学习手记(2) Activity生命周期
  3. 【Android】 onClick与onTouch并存触发的
  4. Project interpreter not specified(ecli
  5. android和ios GoogleMap画导航线路图 路
  6. Android(安卓)创世纪 第一天
  7. 用x86的模拟器内核记得安装intel的haxm
  8. android 获取手机内存大小
  9. android 之 Androidpn 消息推送总结
  10. Android(安卓)Jetpack - 使用 WorkManage