public class TaskStackBuilder
extends Object
| java.lang.Object | |
| android.app.TaskStackBuilder | |
在Android 3.0及更高版本上构建用于跨任务导航的合成背堆栈的实用工具类。
在API级别11(Android 3.0 / Honeycomb)中,使用后退键推荐的应用导航约定已更改。 后退键的行为对于当前任务是本地的,并且不捕获跨越不同任务的导航。 可以通过导航或系统栏上的软件提供的“最近”键访问“最近”UI,从而完成任务之间的导航并轻松完成以前的任务。 在具有较旧硬件按钮配置的设备上,可以通过长按Home键来访问最近的UI。
当从一个任务栈跨越到另一个Android 3.0后,应用程序应该为新任务合成一个后退堆栈/历史记录,以便用户可以通过反复按下后退键导航出新任务并返回到启动器。 后退键不应该在任务堆栈中导航。
TaskStackBuilder提供了一种遵循关于跨任务导航的正确约定的方法。
公共方法(Public methods) |
|
|---|---|
TaskStackBuilder |
addNextIntent(Intent nextIntent) 将新的Intent添加到任务堆栈。 |
TaskStackBuilder |
addNextIntentWithParentStack(Intent nextIntent) 为目标活动添加一个新的Intent和已解决的家长链,并将其添加到任务堆栈中。 |
TaskStackBuilder |
addParentStack(ComponentName sourceActivityName) 将应用程序清单中activity(或activity-alias)元素的 |
TaskStackBuilder |
addParentStack(Activity sourceActivity) 将指定活动的 |
TaskStackBuilder |
addParentStack(Class<?> sourceActivityClass) 将应用程序清单中activity(或activity-alias)元素的 |
static TaskStackBuilder |
create(Context context) 返回一个新的TaskStackBuilder,用于启动由一系列活动组成的新任务堆栈。 |
Intent |
editIntentAt(int index) 将指定的索引返回以进行修改。 |
int |
getIntentCount() |
Intent[] |
getIntents() 返回包含添加到此构建器的意图的数组。 |
PendingIntent |
getPendingIntent(int requestCode, int flags) 获取 |
PendingIntent |
getPendingIntent(int requestCode, int flags, Bundle options) 获取 |
void |
startActivities() 启动由此构建器构建的任务堆栈。 |
void |
startActivities(Bundle options) 启动由此构建器构建的任务堆栈。 |
继承方法(Inherited methods) |
|
|---|---|
java.lang.Object
|
|
TaskStackBuilder addNextIntent (Intent nextIntent)
将新的Intent添加到任务堆栈。 最近添加的Intent将调用最终任务堆栈顶部的Activity。
| 参数(Parameters) | |
|---|---|
nextIntent |
Intent: Intent for the next Activity in the synthesized task stack |
| 返回(Returns) | |
|---|---|
TaskStackBuilder |
This TaskStackBuilder for method chaining |
TaskStackBuilder addNextIntentWithParentStack (Intent nextIntent)
为目标活动添加一个新的Intent和已解决的家长链,并将其添加到任务堆栈中。
这相当于使用已解析的nextIntent的ComponentName(如果可以解析)调用 addParentStack ,然后使用 addNextIntent调用addNextIntent。
| 参数(Parameters) | |
|---|---|
nextIntent |
Intent: Intent for the topmost Activity in the synthesized task stack. Its chain of parents as specified in the manifest will be added. |
| 返回(Returns) | |
|---|---|
TaskStackBuilder |
This TaskStackBuilder for method chaining. |
TaskStackBuilder addParentStack (ComponentName sourceActivityName)
将应用程序清单中activity(或activity-alias)元素的 parentActivityName属性指定的活动父链添加到任务堆栈构建器。
| 参数(Parameters) | |
|---|---|
sourceActivityName |
ComponentName: Must specify an Activity component. All parents of this activity will be added |
| 返回(Returns) | |
|---|---|
TaskStackBuilder |
This TaskStackBuilder for method chaining |
TaskStackBuilder addParentStack (Activity sourceActivity)
将指定活动的 getParentActivityIntent()方法指定的活动父链和应用程序清单中每个后续活动(或活动别名)元素的 parentActivityName属性添加到任务堆栈构建器。
| 参数(Parameters) | |
|---|---|
sourceActivity |
Activity: All parents of this activity will be added |
| 返回(Returns) | |
|---|---|
TaskStackBuilder |
This TaskStackBuilder for method chaining |
TaskStackBuilder addParentStack (Class<?> sourceActivityClass)
将应用程序清单中activity(或activity-alias)元素的 parentActivityName属性指定的活动父链添加到任务堆栈构建器。
| 参数(Parameters) | |
|---|---|
sourceActivityClass |
Class: All parents of this activity will be added |
| 返回(Returns) | |
|---|---|
TaskStackBuilder |
This TaskStackBuilder for method chaining |
TaskStackBuilder create (Context context)
返回一个新的TaskStackBuilder,用于启动由一系列活动组成的新任务堆栈。
| 参数(Parameters) | |
|---|---|
context |
Context: The context that will launch the new task stack or generate a PendingIntent |
| 返回(Returns) | |
|---|---|
TaskStackBuilder |
A new TaskStackBuilder |
Intent editIntentAt (int index)
将指定的索引返回以进行修改。 如果您需要修改之前添加的意向标志或附加项,例如addParentStack(Activity) ,则此功能addParentStack(Activity) 。
| 参数(Parameters) | |
|---|---|
index |
int: Index from 0-getIntentCount() |
| 返回(Returns) | |
|---|---|
Intent |
the intent at position index |
int getIntentCount ()
| 返回(Returns) | |
|---|---|
int |
the number of intents added so far. |
Intent[] getIntents ()
返回包含添加到此构建器的意图的数组。 任务堆栈的根目录将显示为数组中的第一个项目,并且堆栈顶部的目标将显示为最后一个项目。
| 返回(Returns) | |
|---|---|
Intent[] |
An array containing the intents added to this builder. |
PendingIntent getPendingIntent (int requestCode, int flags)
获取 PendingIntent以启动迄今为止由此构建器构建的任务。
| 参数(Parameters) | |
|---|---|
requestCode |
int: Private request code for the sender |
flags |
int: May be FLAG_ONE_SHOT, FLAG_NO_CREATE, FLAG_CANCEL_CURRENT, FLAG_UPDATE_CURRENT, or any of the flags supported by fillIn(Intent, int) to control which unspecified parts of the intent that can be supplied when the actual send happens. |
| 返回(Returns) | |
|---|---|
PendingIntent |
The obtained PendingIntent |
PendingIntent getPendingIntent (int requestCode, int flags, Bundle options)
获取 PendingIntent以启动迄今为止由此构建器构建的任务。
| 参数(Parameters) | |
|---|---|
requestCode |
int: Private request code for the sender |
flags |
int: May be FLAG_ONE_SHOT, FLAG_NO_CREATE, FLAG_CANCEL_CURRENT, FLAG_UPDATE_CURRENT, or any of the flags supported by fillIn(Intent, int) to control which unspecified parts of the intent that can be supplied when the actual send happens. |
options |
Bundle: Additional options for how the Activity should be started. See Context.startActivity(Intent, Bundle) for more details. |
| 返回(Returns) | |
|---|---|
PendingIntent |
The obtained PendingIntent |
void startActivities (Bundle options)
启动由此构建器构建的任务堆栈。
| 参数(Parameters) | |
|---|---|
options |
Bundle: Additional options for how the Activity should be started. See Context.startActivity(Intent, Bundle) for more details. |