Android 启动模式中巧用singleTask

来源:互联网 发布:mac windows 共享软件 编辑:程序博客网 时间:2024/05/24 00:36

一、问题的由来

我们的首页底部导航是这样的这里写图片描述
有个需求就是,我们在首页界面中点啊点啊,点到一个商品详情页,加入购物车之后,有个按钮,可以直接跳回首页,并转到购物车选项。可能你会说直接跳回去,然后设置为购物车那一页不就行了么,然而并非如此。

二、singleTask介绍

只有一个实例。在同一个应用程序中启动他的时候,若Activity不存在,则会在当前task创建一个新的实例,若存在,则会把task中在其之上的其它Activity destory掉并调用它的onNewIntent方法。其他复杂的介绍就不多说了,可参考http://blog.csdn.net/shinay/article/details/7898492

三、 开始实现

1.设置为singleTask启动模式

<activity            android:name=".MainTabActivity"            android:launchMode="singleTask"            android:screenOrientation="portrait" />

2.商品详情中调回去,并且加上标志信息

Intent intent=new Intent(this,MainTabActivity.class);        intent.putExtra("from", "goodDetail");        startActivity(intent);

3.首页中重写onNewIntent,根据标志信息,转到指定位置

@Override    protected void onNewIntent(Intent intent) {        if(intent.getStringExtra("from").equals("goodDetail")){            ToShopCart();        }        super.onNewIntent(intent);    }
0 0
原创粉丝点击