如何退出 Activity?如何安全退出已调用多个 Activity 的 Application?

1、通常情况用户退出一个 Activity 只需按返回键,我们写代码想退出 activity

直接调用 finish()方法就行。

2、记录打开的 Activity:

每打开一个 Activity,就记录下来。在需要退出时,关闭每一个 Activity 即可。

3、发送特定广播:

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

即可。

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

//伪代码

List<Activity> lists ;// 在 application 全局的变量里面

lists = new ArrayList<Activity>();

lists.add(this);

for(Activity activity: lists)

{

activity.finish();

}

lists.remove(this);registerReceiver(receiver, filter)

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

activity finish()掉

4、递归退出

在打开新的 Activity 时使用 startActivityForResult,然后自己加标志,在

onActivityResult 中处理,递归关闭。

5、其实 也可以通过 intent 的 flag 来实现

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)激活一个新的 activity。

此时如果该任务栈中已经有该 Activity,那么系统会把这个 Activity 上面的所有

Activity 干掉。其实相当于给 Activity 配置的启动模式为 SingleTop。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。