[douban] 01_程序安全退出,Activity安全退出

Android 4.0

程序安全退出,Activity安全退出,应用退出,应用安全退出,程序退出

一、抛异常强制退出(应用程序异常终止,异常退出)
该方法通过抛异常,使程序Force Close。
验证可以,但是,需要解决的问题是,如何使程序结束掉,而不弹出Force Close的窗口。
①使程序抛异常
②自己捕获该异常
③自己处理,并杀死当前Activity
// 安全结束进程 android.os.Process.killProcess(android.os.Process.myPid());
二、记录打开的Activity
①List<Activity> lists ; 在application 全集的环境里面
    lists = new ArrayList<Activity>();
②每打开一个Activity,就记录下来,也就是onCreate()。
    每一个activity在执行oncreate()方法的时候 lists.add(this);,添加到集合中去lists.add(activity);
③在需要退出时,将其从集合中移除,并finish()
    Ondestory() lists.remove(this);
④如果是主界面退出,那么循环遍历集合,将每一个Activity移除,并finish()
// 当主界面退出时,将所有Activity退出
List<Activity> listActivities = app.listActivities;
for (Activity activity : listActivities) {
    activity.finish();
    System.out.println("销毁:" + activity);
}
listActivities.clear();
listActivities = null;
三、发送特定广播

在需要结束应用时,发送一个特定的广播,每个Activity收到广播后,关闭即可。

//给某个activity 注册接受接受广播的意图    

    registerReceiver(receiver, filter)

 

//如果接受到的是 关闭activity的广播  就调用finish()方法 把当前的activity finish()掉

四、递归退出(不推荐)

在打开新的Activity时使用startActivityForResult,然后自己加标志,在onActivityResult中处理,递归关闭。

404 退出程序

OnActivityResult();