Android学习 - 退出整个应用方法
2013-04-22 22:00
190 查看
[摘要]在Android应用开发中,难免会遇到需要完全退出整个应用的时候,本文介绍Android中退出整个应用的方法,并提供详细的示例代码供参考。
在Android应用开发中,难免会遇到需要完全退出整个应用的时候,我在网上也看了一下,感觉通过广播是个很好的方法,在这里,我用了另外一个方法,简而言之,通过单例模式把每个Activity 的引用添加到一个全局链表中,每次退出程序调用System.exit(0)时,先调用链表中Activity 的finish方法。直接上代码:
View Row Code
在每个Activity的onCreate中添加下面代码,把每个创建的Activity添加到List中管理:
View Row Code
在我们需要退出程序的时候执行下面代码:
View Row Code
2012-10-07
18:02 来源:csdn 作者:weidi1989 字号:T|T
[摘要]本文介绍Android中退出整个应用的方法,主要通过使用广播机制退出整个应用,并提供详细的示例代码供参考。
前面跟大家分享了通过建立Activity堆栈列表,把所有Activity通过继承基类或调用函数的方式记录下来,退出时逐一finish;今天再跟大家分享一下通过使用广播机制退出整个应用,我们首先自定义一个抽象的MyActivity继承系统的Activity,然后在这个自定义的MyActivity中添加退出的方法,然后在整个应用中的所有Activity都继承我们自定义的MyActivity,当我们需要完全退出的时候,就可以调用这个close()方法,实现完全退出,个人感觉比之前的那个方法更实用,更方便,好了,废话不多说,直接分享核心代码:
View Row Code
在Android应用开发中,难免会遇到需要完全退出整个应用的时候,我在网上也看了一下,感觉通过广播是个很好的方法,在这里,我用了另外一个方法,简而言之,通过单例模式把每个Activity 的引用添加到一个全局链表中,每次退出程序调用System.exit(0)时,先调用链表中Activity 的finish方法。直接上代码:
View Row Code
1 | import java.util.LinkedList; |
2 | import java.util.List; |
3 | import Android.app.Activity; |
4 | import Android.app.AlertDialog; |
5 | import Android.app.Application; |
6 | import Android.content.DialogInterface; |
7 | import Android.content.Intent; |
8 | |
9 | public class SysApplication extends Application { |
10 | private List<Activity> mList = new LinkedList<Activity>(); //用于存放每个Activity的List |
11 | private static SysApplication instance; //SysApplication实例 |
12 | |
13 | private SysApplication() { //私有构造器,防止外面实例化该对象, |
14 | } |
15 | |
16 | public synchronized static SysApplication getInstance() { //通过一个方法给外面提供实例 |
17 | if (null == instance) { |
18 | instance = new SysApplication(); |
19 | } |
20 | return instance; |
21 | } |
22 | |
23 | // add Activity |
24 | public void addActivity(Activity activity) { |
25 | mList.add(activity); |
26 | } |
27 | |
28 | public void exit() { //遍历List,退出每一个Activity |
29 | try { |
30 | for (Activity activity : mList) { |
31 | if (activity != null) |
32 | activity.finish(); |
33 | } |
34 | } catch (Exception e) { |
35 | e.printStackTrace(); |
36 | } finally { |
37 | System.exit(0); |
38 | } |
39 | } |
40 | |
41 | @Override |
42 | public void onLowMemory() { |
43 | super.onLowMemory(); |
44 | System.gc(); //告诉系统回收 |
45 | } |
46 | |
47 | } |
View Row Code
1 | public void onCreate(Bundle savedInstanceState) { |
2 | super.onCreate(savedInstanceState); |
3 | SysApplication.getInstance().addActivity(this); //创建Activity时,添加到List进行管理。 |
4 | } |
View Row Code
1 | SysApplication.getInstance().exit(); //调用退出方法 |
Android学习 - 退出整个应用方法(2)
2012-10-0718:02 来源:csdn 作者:weidi1989 字号:T|T
[摘要]本文介绍Android中退出整个应用的方法,主要通过使用广播机制退出整个应用,并提供详细的示例代码供参考。
前面跟大家分享了通过建立Activity堆栈列表,把所有Activity通过继承基类或调用函数的方式记录下来,退出时逐一finish;今天再跟大家分享一下通过使用广播机制退出整个应用,我们首先自定义一个抽象的MyActivity继承系统的Activity,然后在这个自定义的MyActivity中添加退出的方法,然后在整个应用中的所有Activity都继承我们自定义的MyActivity,当我们需要完全退出的时候,就可以调用这个close()方法,实现完全退出,个人感觉比之前的那个方法更实用,更方便,好了,废话不多说,直接分享核心代码:
View Row Code
1 | public abstract class MyActivity extends Activity { |
2 | |
3 | // 写一个广播的内部类,当收到动作时,结束activity |
4 | private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { |
5 | @Override |
6 | public void onReceive(Context context, Intent intent) { |
7 | close(); |
8 | } |
9 | }; |
10 | |
11 | @Override |
12 | protected void onCreate(Bundle savedInstanceState) { |
13 | super.onCreate(savedInstanceState); |
14 | // 在onCreate中注册广播 |
15 | IntentFilter filter = new IntentFilter(); |
16 | filter.addAction(Attribute.PAGENAME); |
17 | registerReceiver(this.broadcastReceiver, filter); // 注册 |
18 | } |
19 | |
20 | /** |
21 | * 关闭 |
22 | */ |
23 | public void close() { |
24 | Intent intent = new Intent(); |
25 | intent.setAction(Attribute.PAGENAME); // 说明动作 |
26 | sendBroadcast(intent);// 该函数用于发送广播 |
27 | finish(); |
28 | } |
29 | @Override |
30 | protected void onDestroy() { |
31 | super.onDestroy(); |
32 | unregisterReceiver(broadcastReceiver);// 在onDestroy注销广播。 |
33 | } |
34 | } |
相关文章推荐
- Android之退出整个应用的一种方法
- 退出整个Android 应用的方法
- android中直接退出整个应用的方法
- 解决android退出整个应用方法
- Android之退出整个应用的一种方法
- Android之退出整个应用方法之二
- Android退出整个应用的方法
- Android之退出整个应用方法之一
- Android之退出整个应用方法之一
- Android之退出整个应用方法
- Android之退出整个应用的一种方法(二)
- Android之退出整个应用方法之二
- Android应用开发学习—Toast使用方法大全
- Android应用开发学习—Toast使用方法大全
- Android应用开发完全退出程序的通用方法!!!
- Android应用开发完全退出程序的通用方法
- Android应用开发学习—Toast使用方法大全
- Android开发心得——退出整个应用
- 【Android应用开发学习】—Toast使用方法大全
- Android应用开发学习—Toast使用方法大全