Android退出整个应用程序
2014-06-20 19:59
429 查看
在开发andorid程序的时候,难免会牵扯到退出整个应用程序的情况,怎么完全退出呢?请参阅下面的关键代码:
package com.example.android_test;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import android.app.Activity;
import android.app.Application;
import android.os.Bundle;
public class MainActivity extends Activity {
private List<Activity> mList = new LinkedList<Activity>();
private static MainActivity instance;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MainActivity.getInstance().addActivity(this);
}
public synchronized static MainActivity getInstance() {
if (null == instance) {
instance = new
4000
MainActivity();
}
return instance;
}
// 添加Activity
public void addActivity(Activity activity) {
mList.add(activity);
}
// 关闭Activity的方法
public void exit() {
try {
for (Activity activity : mList) {
if (activity != null)
activity.finish();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
System.exit(0);
}
}
@Override
public void onLowMemory() {
super.onLowMemory();
System.gc();
}
}
在需要退出程序的时候,调用:
MainActivity.getInstance().exit();
简而言之,通过单例模式把每个Activity的引用添加到一个全局链表中,每次退出程序调用System.exit(0)时,先调用链表中Activity的finish方法。
package com.example.android_test;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import android.app.Activity;
import android.app.Application;
import android.os.Bundle;
public class MainActivity extends Activity {
private List<Activity> mList = new LinkedList<Activity>();
private static MainActivity instance;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MainActivity.getInstance().addActivity(this);
}
public synchronized static MainActivity getInstance() {
if (null == instance) {
instance = new
4000
MainActivity();
}
return instance;
}
// 添加Activity
public void addActivity(Activity activity) {
mList.add(activity);
}
// 关闭Activity的方法
public void exit() {
try {
for (Activity activity : mList) {
if (activity != null)
activity.finish();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
System.exit(0);
}
}
@Override
public void onLowMemory() {
super.onLowMemory();
System.gc();
}
}
在需要退出程序的时候,调用:
MainActivity.getInstance().exit();
简而言之,通过单例模式把每个Activity的引用添加到一个全局链表中,每次退出程序调用System.exit(0)时,先调用链表中Activity的finish方法。
相关文章推荐
- Android 怎么退出整个应用程序?
- Android 退出整个应用程序解决方案
- Android 退出整个应用程序解决方案
- Android一键退出整个应用程序
- Android 怎么退出整个应用程序?
- Android 怎么退出整个应用程序
- android退出整个应用程序
- Android 怎么退出整个应用程序?
- Android 怎么退出整个应用程序?
- Android 怎么退出整个应用程序
- Android 怎么退出整个应用程序?__以及__按键事件捕获的问题?
- android退出时关闭整个应用程序
- Android 怎么退出整个应用程序?
- Android 怎么退出整个应用程序?[转]
- Android 怎么退出整个应用程序?
- Android 怎么退出整个应用程序? .
- Android 怎么退出整个应用程序?__以及__按键事件捕获的问题?
- Android 怎么退出整个应用程序?
- Android 怎么退出整个应用程序?
- Android 怎么退出整个应用程序?