关于android:clearTaskOnLaunch,网上的资料很少,唯一有几个资料,还说得很含糊,看着让人摸不着头脑,今天硬着头皮看了下英文文档,再结合自己的尝试,终于是稍微理解了它的用处。
默认情况下,android:clearTaskOnLaunch的值是false
此时,比如你的应用里有N个Activity,其中有个是设置页面,你从主页面进入到设置页面设置了一些东西之后,突然,按了下Home键,回到了Android的Home,这时候你做了些别的事情,然后你再次点击你的应用程序图标进入你的应用程序的时候,依旧是回到设置页面,继续先前的工作,这也是大多数应用的情况。
但是,如果你把android:clearTaskOnLaunch的值设为true呢?顾名思义,它就在启动的时候把Task给清空了,就是你再次点击应用程序图标进入你的应用程序的时候是回到应用程序的第一个页面,而不会回到先前的设置页面。也就是说不保存先前的设置状态。
至于,什么情况下要这么用,我还没想到,像谷歌的Zxing项目,也就是Android上的“条码扫描器”,它就是这样的,不管你什么时候重新进入该应用,它显示的都是扫描的界面。
不过呢,我也发现了个意外情况,就是即使你把android:clearTaskOnLaunch的值设为了true,但是在Home界面长按Home键,可以调出一个你最近进行的任务,从那个里面点击你的应用是可以回到先前保留的状态的,也就是无视android:clearTaskOnLaunch了,至于为什么,目前还没搞明白,有兴趣的可以去官方查看一下文档,我没有仔细去看。
关于android:clearTaskOnLaunch的官方文档地址:
http://developer.android.com/intl/zh-CN/guide/topics/manifest/activity-element.html#clear