zoukankan      html  css  js  c++  java
  • 退出程序(转自:第一行代码)

    如果目前你手机的界面还停留在ThirdActivity,你会发现当前想退出程序是非常不方便的,需要连按三次Back 键才行。按Home 键只是把程序挂起,并没有退出程序。其实这个问题就足以引起你的思考,如果我们的程序需要一个注销或者退出的功能该怎么办呢?必须要有一个随时随地都能退出程序的方案才行。其实解决思路也很简单,只需要用一个专门的集合类对所有的活动进行管理就可以了,下面我们就来实现一下。

    一.新建一个ActivityCollector 类作为活动管理器,代码如下所示:

    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();

                         }

                  }

                  System.exit(0);

           }

    }

    二.新建一个BaseActivity

    public class BaseActivity extends Activity {

           @Override

           protected void onCreate(Bundle savedInstanceState) {

                  super.onCreate(savedInstanceState);

                  Log.d("BaseActivity", getClass().getSimpleName());

                  ActivityCollector.addActivity(this);

           }

           @Override

           protected void onDestroy() {

                  super.onDestroy();

                  ActivityCollector.removeActivity(this);

           }

    }

    三.所有Activity继承BaseActivity,再退出的地方加

    ActivityCollector.finishAll();

    *****************

    Android 应用退出后不留在最近运行任务栏中
    只要给Activity设置“Android:excludeFromRecents=true”即可,官方的解释如下:
    如果设置为true,那么这个Activity将不会出现在最近任务列表中,如果这个Activity是整个Task的根Activity,整个Task将不会出现在最近任务列表中。

  • 相关阅读:
    Java的值传递和引用传递的说法
    将对象写道硬盘上and从硬盘上读入对象
    分割一个文件and合并一个文件(并且带有配置信息记录)
    文件的切割和合并
    SequenceInputStream的用法(用来合并流然后一起操作)
    PrintStream和PrintWrite用法
    将一个文件夹中的所有含有某个后缀的文件写进一个文件里面
    关于Properties的制作配置文件(当一个app已经5次被打开我们就收费)
    Properties的用法
    深层删除一个目录(java)
  • 原文地址:https://www.cnblogs.com/itfenqing/p/6715106.html
Copyright © 2011-2022 走看看