您的位置:首页 > 移动开发 > Android开发

android之Activity的Tasks and Back Stack

2013-03-28 11:01 405 查看
Activity任务和返回栈:

什么时候在同一个task呢,不是说一个application里的activity才能在同一个task里,

developer.android.com里说:

Even though the activities may be from different applications, Android maintains this seamless user experience by keeping both activities in the same task.

意思是:

不同的应用里的activity可以在同一task。比如,在你的app里要调用发送email的功能,你回send一个intend去调用email的activity,这时这个email的activity便在你的之前的activity的task内,返回就回到你的activity啦。

另外一个情况,在同一个application里,也可以制定一个activity单独使用新的栈stack,

(默认activity都在被创建的activity里的task里),

在你想返回这个activity后,不想回到被创建的activity的时候,你可以指定使用单独的task。

比如一键清理的快捷方式。

如何指定,目前我知道两种:

都需要<action android:name="android.intent.action.MAIN" />表示开始一个task

1,使用activity的launchmode属性-singleInstance

2,使用activity的launchmode属性-android:taskAffinity,eg:

android:taskAffinity="com.hiapk.kbatterydoctor.shortonkey"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: