android 自定义application
来源:互联网 发布:自动偷菜软件 编辑:程序博客网 时间:2024/05/22 11:47
自定义Application-MyApplication,继承了常用一些方法,包括页面跳转之后页面栈,指定保留页面退出其他,获取当前最上层页面名称等常用方法
public class MyApplication extends Application { private volatile ArrayList<Activity> mTempActivity = new ArrayList<Activity>(); public static Typeface typeFace; private Context mResumeContext; public Context getResumeContext() { return mResumeContext; } public void setResumeContext(Context mResumeContext) { this.mResumeContext = mResumeContext; } @Override public void onCreate() { super.onCreate(); SDKInitializer.initialize(this); FMAgent.init(getApplication(), NetConstantValue.getService()); } @Override public void onTerminate() { super.onTerminate(); clearTempActivityInBackStack(); } public synchronized void addTempActivityInBackStack(Activity activity) { mTempActivity.add(activity); } //退出所有页面 public synchronized void clearTempActivityInBackStack() { Iterator<Activity> iterator = mTempActivity.iterator(); while (iterator.hasNext()) { Activity activity = iterator.next(); activity.finish(); } mTempActivity.clear(); }//保留指定页面并退出其他页面 public synchronized void clearTempActivityInBackStack(Class<?> className) { if (className != null) { Iterator<Activity> iterator = mTempActivity.iterator(); while (iterator.hasNext()) { Activity activity = iterator.next(); String class_name=className.getName(); if(null==class_name){ return; } if (!activity.getClass().getName().equals(class_name)) { activity.finish(); } } Activity saveActivity = null; for (Activity activity : mTempActivity) { if (activity.getClass().getName().equals(className.getName())) { saveActivity = activity; } } mTempActivity.clear(); addTempActivityInBackStack(saveActivity); } } public synchronized void clearTempActivityInBackStack2() { for (int x = 0; x < mTempActivity.size() - 1; x++) { Activity activity = mTempActivity.get(x); activity.finish(); } } public MyApplication getApplication() { // TODO Auto-generated method stub return this; } public ArrayList<Activity> getAllActivities() { return mTempActivity; }//获取最上层页面名称 public static String getTopActivityName(Context context) { ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); ComponentName cn = am.getRunningTasks(1).get(0).topActivity; return cn.getClassName(); }}
阅读全文
0 0
- android 自定义application
- Android:自定义Application存储全局变量
- Android 自定义 Application 多次调用
- Android自定义Application的作用
- Android Application级别自定义Toast
- android自定义的application无法强制转换成application问题解决
- android 关于自定义Application的使用
- Android自定义捕获Application全局异常
- Android自定义捕获Application全局异常
- Android自定义捕获Application全局异常
- Android自定义捕获Application全局异常
- Android自定义捕获Application全局异常
- Android自定义捕获Application全局…
- Android 自定义Application和Activity栈
- Android自定义捕获Application全局异常
- Android中自定义Application报ClassCastException错误
- Android自定义捕获Application全局异常
- Android自定义捕获Application全局异常
- django template 基础(模板对象(Template),上下文对象(Context))
- TPC,TPCC,TPMC(计算机性能衡量指标) -----
- http中attribute和paramter的区别
- UVa 540 STL之queue的运用
- HDU1596HDU1596最短路Floyd
- android 自定义application
- 【OpenCV入门指南】第十三篇 人脸检测
- hdu 1712-分组背包
- CUDA C语言
- MFC计算器项目——日期计算模块
- Unity3D热更新全书
- Javaweb国际化
- python之logging模块
- Word中试卷各选项提取到Excel对应列