BaseActivity
package com.appstore;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import java.util.LinkedList;
import java.util.List;
/**
* 抽取BaseActivity 管理所有activity 方便退出
* @author itcast
*
*/
public class BaseActivity extends FragmentActivity {
public final static List<BaseActivity> mActivities = new LinkedList<BaseActivity>();
public static BaseActivity activity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
synchronized (mActivities) {
mActivities.add(this);
}
init();
initView();
initActionBar();
}
@Override
protected void onResume() {
super.onResume();
activity = this;
}
@Override
protected void onPause() {
super.onPause();
activity = null;
}
@Override
protected void onDestroy() {
super.onDestroy();
synchronized (mActivities) {
mActivities.remove(this);
}
}
public void killAll() {
List<BaseActivity> copy;
synchronized (mActivities) {
copy = new LinkedList<BaseActivity>(mActivities);
}
for (BaseActivity activity : copy) {
activity.finish();
}
android.os.Process.killProcess(android.os.Process.myPid());
}
protected void initActionBar() {
}
protected void initView() {
}
protected void init() {
}
}
BaseApplicaion
import android.app.Application;
import android.content.Context;
import android.os.Handler;
/**
* Created by stephen on 2016/10/30.
*/
public class BaseApplication extends Application {
private static BaseApplication application;
private static int mainTid;
private static Handler handler;
@Override
public void onCreate() {
super.onCreate();
application=this;
mainTid = android.os.Process.myTid();
handler=new Handler();
}
public static Context getApplication() {
return application;
}
public static int getMainTid() {
return mainTid;
}
public static Handler getHandler() {
return handler;
}
}