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 |
|
---|---|
From class 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. |