Android 啓動模式中巧用singleTask

一、問題的由來

我們的首頁底部導航是這樣的這裏寫圖片描述
有個需求就是,我們在首頁界面中點啊點啊,點到一個商品詳情頁,加入購物車之後,有個按鈕,可以直接跳回首頁,並轉到購物車選項。可能你會說直接跳回去,然後設置爲購物車那一頁不就行了麼,然而並非如此。

二、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);
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章