Android完全退出应用程序解决方法

在一个项目中,要退出android程序,试了各种方法都不尽如人意。。。

最后发现其实只要在从一个activity A 跳到另一个activity B 时,调用了A的finish方法,程序就能退出,但这样不能实现Back操作了,如是找到办法:我们为什么不自己控制程序创建的activity呢?比如我们可以把程序创建的avtivity放在一个全局变量里,在退出程序的时候取出每个还存在的activity,并对每个activity依次调用finish最后程序就正常退出了。

思路:创建一个基类,让程序中其他的activity继承这个基类,通过此基类来管理当前的activity;在任何继承了此基类的activity中调用exit()方法即可正常退出.

代码:

 1 package 当前空间名;
 2 
 3 import java.util.LinkedList;
 4 
 5 import android.app.Activity;
 6 
 7 import android.os.Bundle;
 8 
 9 public class BaseActivity extends Activity {    
10 
11 public static LinkedList<Activity> mAllActivitys = new LinkedList<Activity>();   
12 
13    @Override   
14 
15    public void onCreate(Bundle bundle) { 
16 
17         super.onCreate(bundle);    
18 
19         mAllActivitys.add(this); 
20 
21     }           
22 
23   @Override 
24 
25   public void onDestroy() {    
26 
27       super.onDestroy();     
28 
29      mAllActivitys.remove(this);    
30 
31     }   
32 
33   public static void finishAll() {        
34 
35               for(Activity activity : mAllActivitys) {            
36 
37                   activity.finish();        
38 
39                   }                  
40 
41              mAllActivitys.clear();   
42 
43     }     
44 
45   public static void exit() {        
46 
47      finishAll();         
48 
49     // 程序正常结束
50 
51     System.exit(0);   
52 
53    } 
54 
55 } 
结束语:
希望这篇文章能够给大家的学习工作带来帮助,也希望这篇文章能够起到抛砖引玉的作用;知识水平有限文章中如有错误还请批评指正;先谢谢了!
posted @ 2013-03-13 11:21  zhaolee  阅读(258)  评论(0)    收藏  举报