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

Android 启动模式中巧用singleTask

2015-10-16 18:07 633 查看
一、问题的由来

我们的首页底部导航是这样的


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

二、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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息