德克云技术联盟

标题: Android中从任意页面退出应用 [打印本页]

作者: 李昭    时间: 2014-11-4 15:19
标题: Android中从任意页面退出应用
首先定义全局类:SysApplication.java
package deco.sfe.global;

import java.util.LinkedList;
import java.util.List;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Application;
import android.content.DialogInterface;
import android.content.Intent;

public class SysApplication extends Application {
    private List<Activity> mList = new LinkedList<Activity>();
    private static SysApplication instance;

    private SysApplication() {   
    }
    public synchronized static SysApplication getInstance() {
        if (null == instance) {
            instance = new SysApplication();
        }
        return instance;
    }
    // add Activity  
    public void addActivity(Activity activity) {
        mList.add(activity);
    }

    public void exit() {
        try {
            for (Activity activity : mList) {
                if (activity != null)
                    activity.finish();
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            System.exit(0);
        }
    }
    public void onLowMemory() {
        super.onLowMemory();     
        System.gc();
    }  
}


然后编写MyBaseActivity.java继承Activity,让以后新建的Activity都继承他。
MyBaseActivity.java代码:
public class MyBaseActivity extends Activity {
         @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        SysApplication.getInstance().addActivity(this);
    }
}


最后,在需要退出的地方写:SysApplication.getInstance().exit();就OK了。






欢迎光临 德克云技术联盟 (http://www.decoclouds.com/)