/** * 应用程序Activity管理类:用于Activity管理和应用程序退出 *  * @version 1.0 * @created 2012-3-21 */public class AppManager {private static Stack m_stack_activity;private static AppManager m_instance;private AppManager() {}/** * 单一实例 */public static AppManager getAppManager() {if (m_instance == null) {m_instance = new AppManager();}return m_instance;}/** * 添加Activity到堆栈 */public void addActivity(Activity activity) {if (m_stack_activity == null) {m_stack_activity = new Stack();}m_stack_activity.add(activity);}/** * 获取当前Activity(堆栈中最后一个压入的) */public Activity currentActivity() {Activity activity = m_stack_activity.lastElement();return activity;}/** * 结束当前Activity(堆栈中最后一个压入的) */public void finishActivity() {Activity activity = m_stack_activity.lastElement();finishActivity(activity);}/** * 结束指定的Activity */public void finishActivity(Activity activity) {if (activity != null) {m_stack_activity.remove(activity);activity.finish();activity = null;}}/** * 结束指定类名的Activity */public void finishActivity(Class<?> cls) {for (Activity activity : m_stack_activity) {if (activity.getClass().equals(cls)) {finishActivity(activity);}}}/** * 结束所有Activity */public void finishAllActivity() {for (int i = 0, size = m_stack_activity.size(); i < size; i++) {if (null != m_stack_activity.get(i)) {m_stack_activity.get(i).finish();}}m_stack_activity.clear();}/** * 退出应用程序 */public void AppExit(Context context) {try {finishAllActivity();ActivityManager activityMgr = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);activityMgr.restartPackage(context.getPackageName());System.exit(0);} catch (Exception e) {e.printStackTrace();}}}

使用

                m_context = this;// 添加Activity到堆栈AppManager.getAppManager().addActivity(this);// App StringAppString.init(m_context);// 全局共享文件String name = AppString.getAppName();m_sharepref = new SharedPreferencesHelper(m_context, name);
/**     * 跳转页面     */    public void enter() {        Intent intent = new Intent(this, StartActivity.class);        startActivity(intent);        AppManager.getAppManager().finishActivity(this);        overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out);    }
完!!!

更多相关文章

  1. android中得到所有安装的应用程序及区分其是否为系统应用程序还
  2. 调用其他应用程序的Activity(打电话,浏览网页,发Email)
  3. android 判断应用程序是否已安装(附带常用软件包名)
  4. 【Android】监听应用程序安装和卸载
  5. Android使用videoview播放res/raw下的视频并在结束后隐藏
  6. android的快捷方式——应用程序界面
  7. Android 线程的结束,挂起和恢复
  8. Android应用程序键盘(Keyboard)消息处理机制分析(18)
  9. [CSDN]Android应用程序进程启动过程的源代码分析

随机推荐

  1. MySQL 分表分库怎么进行数据切分
  2. MySQL使用B+Tree当索引的优势有哪些
  3. Mysql主从复制与读写分离图文详解
  4. mysql中的7种日志小结
  5. MySQL存储过程的创建、调用与管理详解
  6. MySql分表、分库、分片和分区知识深入详
  7. MySQL如何快速批量插入1000w条数据
  8. MySql8.023安装过程图文详解(首次安装)
  9. MySQL使用binlog日志做数据恢复的实现
  10. MySQL的binlog日志使用详解