android常用封装 --- BaseActivity
2015-08-05 17:16
633 查看
public abstract class BaseActivity extends Activity { /** * 记录处于前台的Activity */ private static BaseActivity mForegroundActivity = null; /** * 记录所有活动的Activity */ private static final List<BaseActivity> mActivities = new LinkedList<BaseActivity>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initView(); initFindViewById(); initData(); initEvent(); // initActionBar(); } @Override protected void onResume() { mForegroundActivity = this; super.onResume(); } @Override protected void onPause() { mForegroundActivity = null; super.onPause(); } abstract protected void initView(); abstract protected void initData(); protected void initActionBar() { } /** * 关闭所有Activity */ public static void finishAll() { List<BaseActivity> copy; synchronized (mActivities) { copy = new ArrayList<BaseActivity>(mActivities); } for (BaseActivity activity : copy) { activity.finish(); } } /** * 关闭所有Activity,除了参数传递的Activity */ public static void finishAll(BaseActivity except) { List<BaseActivity> copy; synchronized (mActivities) { copy = new ArrayList<BaseActivity>(mActivities); } for (BaseActivity activity : copy) { if (activity != except) activity.finish(); } } /** * 是否有启动的Activity */ public static boolean hasActivity() { return mActivities.size() > 0; } /** * 获取当前处于前台的activity */ public static BaseActivity getForegroundActivity() { return mForegroundActivity; } /** * 获取当前处于栈顶的activity,无论其是否处于前台 */ public static BaseActivity getCurrentActivity() { List<BaseActivity> copy; synchronized (mActivities) { copy = new ArrayList<BaseActivity>(mActivities); } if (copy.size() > 0) { return copy.get(copy.size() - 1); } return null; } protected void initFindViewById() { } protected void initEvent() { } /** * 退出应用 */ public void exitApp() { finishAll(); android.os.Process.killProcess(android.os.Process.myPid()); } }
相关文章推荐
- Android Marks Blog (private custom) —— 系列一
- 【三】6.Android 中 Context 的理解及使用
- 关于Android Studio中android工程库的引用个人小结
- android常用封装 --- BaseFragment
- Android 注解的一些应用以及原理
- Android(java)学习笔记142:使用Sqlite基本流程
- android常用工具类 -- 打印log日志
- android常用工具类 --事件
- Android 将图片平均切割成多张小片
- android.view.WindowManager addView 抛InvalidDisplayException
- android 自动弹出软键盘,EditText自动获取焦点
- Android 百度地图应用
- 最新百度地图_android使用
- android 自动启动应用程序
- Android-传感器开发-方向判断
- Android Fragment 真正的完全解析(下)
- android 3G移植
- viewPaper 判断是否是最后一页继续滑动的操作
- Android图像处理之Bitmap类(1)
- Android Service把值传给Activity