首页 新闻 搜索 专区 学院

Android如何关闭一个Application的所有Activity?

0
悬赏园豆:10 [已解决问题] 解决于 2014-10-29 22:44

每一个画面做成一个Activity,这样便于画面管理。

但是发现,如果想从某个Activity中退出整个Application,调用finish()方法只会退回到上一个Activity界面。有没有方法从任何一个Activity中都可以退出整个Application?

 

大家有遇到过这样的问题么?谢谢~

Charlie123的主页 Charlie123 | 初学一级 | 园豆:142
提问于:2014-10-21 19:12
< >
分享
最佳答案
0

用System.exit(0);即可

收获园豆:10
Set sail | 小虾三级 |园豆:540 | 2014-10-24 13:59

谢谢。

试用了另外一种方法达到了目的。

例如有ABCD这四个Activity,A是最开始启动的。然后从BCD任何一个按返回键想退出整个App,需要两部可以达成:

1,在BCD的onKeyUp()事件中使用如下代码:

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    switch(keyCode){
    case KeyEvent.KEYCODE_BACK:{
        Intent it = new Intent(getApplicationContext(), A.class);
        it.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        it.putExtra("EXIT", true);
        
        startActivity(it); //启动A的时候,关闭所有在堆栈中在A上方的Activity,然后根据传过去的EXIT
值判断是否关闭
        return true;
    }
    
    
    }///:~switch
    
    return super.onKeyUp(keyCode, event);
}

 

2,在A的onCreate()函数中,添加如下判断:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    
    //Finish all the acitivities of the application
    if(getIntent().getBooleanExtra("EXIT", false)){//根据EXIT值关闭A
        finish();
        return;
    }
    
    setContentView(R.layout.activity_main);
}

 

Charlie123 | 园豆:142 (初学一级) | 2014-10-29 22:44

@Charlie123: 好方法,收藏啦

Set sail | 园豆:540 (小虾三级) | 2014-10-30 10:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册