欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

如何銷毀Activity,和如何一次銷毀多個(gè)activity - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識(shí)

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!

您當(dāng)前位置>首頁(yè) » 新聞資訊 » 技術(shù)分享 >

如何銷毀Activity,和如何一次銷毀多個(gè)activity

發(fā)表時(shí)間:2021-1-4

發(fā)布人:葵宇科技

瀏覽次數(shù):66

在平時(shí)開發(fā)中打開過(guò)三個(gè)activity,分別為:A, B, C,用android設(shè)備中的"back"按鈕,需要點(diǎn)擊三下,才能退出到主界面(即需要三次操作才能銷毀掉這三個(gè)activity)。那么如何只需要點(diǎn)擊一次back就能一次把這三個(gè)activity一次銷毀掉呢,方法挺簡(jiǎn)單的,步驟如下:


(1)創(chuàng)建一個(gè)ActivityCollector.java,此類用作收集和銷毀activity的公共類.
public class ActivityCollector {

    public static List<Activity> activities = new ArrayList<Activity>();

    public static void addActivity(Activity activity) {
        activities.add(activity);
    }

    public static void removeActivity(Activity activity) {
        activities.remove(activity);
    }

    public static void finishAll() {
        for (Activity activity : activities) {
            if (!activity.isFinishing()) {
                activity.finish();
            }
        }
    }

}

(2).創(chuàng)建一個(gè)BaseActivity.java基類,項(xiàng)目中的所有activity都繼承此類.
public class BaseActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        ActivityCollector.addActivity(this);
    }

    @Override
    protected void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
        ActivityCollector.removeActivity(this);
    }
<span style="font-family: Arial, Helvetica, sans-serif;">}</span>
(3)讓A, B, C這三個(gè)activity分別去繼承BaseActivity.java.這樣只要activity一起動(dòng),或者子activity中重寫了onDestroy()方法,子activity就會(huì)自動(dòng)的去收集activity,去銷毀某個(gè)Activity.
(4).如何在某個(gè)地方需要一次銷毀所有的activity,只需要調(diào)用ActivityCollector.java中的finishAll()方法.
     比如在app中的任何一個(gè)界面調(diào)用loginout方法,就需要用到一次kill多個(gè)activity:
public void handleMessage(Message msg) {
            super.handleMessage(msg);
            switch (msg.what) {
            case ConstantUtil.LOGINOUT:                
                ActivityCollector.finishAll();
                break;
}
}

上面的代碼很簡(jiǎn)單,但是很適用.










相關(guān)案例查看更多