zoukankan      html  css  js  c++  java
  • Android:Activity统一堆栈管理(实现随时finish特定或是所有Activty)

    直接上代码:

    Activity管理类:AppManager

    /**
     * 应用程序Activity管理类:用于Activity管理和应用程序退出
     *
     * @author BiHaidong
     * @version 1.0
     * @created 2015-9-21
     */
    public class AppManager {
        private static Stack<Activity> activityStack = new Stack<Activity>();
     
        /**
         * 添加Activity到堆栈
         */
        public static void addActivity(Activity activity) {
            activityStack.push(activity);
        }
     
        /**
         * 获取当前Activity(堆栈中最后一个压入的)
         */
        public static Activity currentActivity() {
            return activityStack.lastElement();
        }
     
        /**
         * 结束当前Activity(堆栈中最后一个压入的)
         */
        public static void finishCurrentActivity() {
            Activity activity = activityStack.pop();
            activity.finish();
        }
     
        /**
         * 结束指定的Activity
         */
        public static void finishActivity(Activity activity) {
            if (activity != null) {
                activityStack.remove(activity);
                if(!activity.isFinishing()) {
                    activity.finish();
                }
            }
        }
     
        /**
         * 结束指定类名的Activity
         */
        public static void finishActivity(Class<?> cls) {
            for (Activity activity : activityStack) {
                if (activity.getClass().equals(cls)) {
                    finishActivity(activity);
                }
            }
        }
     
        /**
         * 结束所有Activity
         */
        public static void finishAllActivity() {
            for (Activity activity : activityStack) {
                if (activity != null) {
                    activity.finish();
                }
            }
            activityStack.clear();
        }
     
        /**
         * 退出应用程序
         */
        public static void AppExit(Context context) {
            try {
                finishAllActivity();
                ActivityManager manager = (ActivityManager) context
                        .getSystemService(Context.ACTIVITY_SERVICE);
                manager.killBackgroundProcesses(context.getPackageName());
                System.exit(0);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
    

    然后是BaseActivity

    public class BaseActivity extends Activity {
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		super.setContentView(R.layout.base_layout);
     
    		AppManager.addActivity(this);
    }
    
    

    转载地址:https://blog.csdn.net/u010635353/article/details/49681659

  • 相关阅读:
    SQLite在php中的接口
    Smarty3——内置函数
    Smarty3——foreach
    Smarty3——复合变量修饰器输
    Smarty3——从配置文件获取的变量
    Smarty3——变量修饰器
    Git命令
    容器云----docker-registry+docker-registry-web(镜像仓库+镜像仓库管理界面)
    容器云----kubernetes-dashboard(kubernetes管理界面)
    容器云----kubernetes+docker-ce
  • 原文地址:https://www.cnblogs.com/wzqnxd/p/10175023.html
Copyright © 2011-2022 走看看