zoukankan      html  css  js  c++  java
  • Android 随时随地的退出程序

    1.建立一个ActivityCollector来管理所有的Activity

    public class ActivityCollector {
        public static List<Activity> activities = new ArrayList<Activity>();
        public static void addActivity(Activity activity){
            activities.add(activity);
        }
        public static void removeActivity(Activity activity){
            activities.remove(activity);
        }
        public static void finishAll(){
            for (Activity activity: activities) {
                if (!activity.isFinishing()){
                    activity.finish();
                }
            }
        }
    };

    新建一个BaseActivity继承Activity,调用控制器的方法

    public class BaseActivity  extends Activity {
        @Override
        protected void onCreate(Bundle savedInstanceState){
            super.onCreate(savedInstanceState);
            Log.d("BaseActivity", getClass().getSimpleName());
            ActivityCollector.addActivity(this);
        }
        @Override
        public void onDestroy(){
            super.onDestroy();
            ActivityCollector.removeActivity(this);
        }
    }

    让所有的Activity都继承这个基类,并绑定按钮调用ActivityCollector.finishAll()方法

    比如在Main2Activity里

    public class Main2Activity extends BaseActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            Log.d("ThirdActivity", "Task id is " + getTaskId());
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            setContentView(R.layout.activity_main2);
            Button button3 = (Button) findViewById(R.id.button3);
            button3.setOnClickListener(new View.OnClickListener()
            {
                @Override
                public void onClick(View v)
                {
                    ActivityCollector.finishAll();
                    //android.os.Process.killProcess(android.os.Process.myPid());
                }
            });
        }

    这样,我们在第二个Activity中点击Button3,便可以退出所有的Activity.

  • 相关阅读:
    Hubble.net 值得纪念的一天
    Hubble.net 0.5 版本开发完成
    计算任意数值的阶乘
    Hubble.net 建表语句 Create Table
    Linq to SQL 插入数据时的一个问题
    盘古分词中文人名识别算法介绍
    盘古分词功能简介
    最长不完全匹配子串频率计算eaglet 的解法
    背包分组问题的解法
    SharePoint 2010与2007的区别 配置基于表单的身份认证
  • 原文地址:https://www.cnblogs.com/javacoding/p/5550443.html
Copyright © 2011-2022 走看看