• 如何安全退出 Activity


    对于单一 Activity 的应用,直接 finish(),也可以用 killProcess()(关闭进程)和 System.exit(0)(退出虚拟机)
    对于多 Activity 的应用,退出有几个方法:
    1,抛出异常强制退出:
    通过抛出异常,使程序Force Close.可以退出,但需要解决弹出Force Close窗口的问题

    2.记录打开的Activity:
    没打开一个activity,就记录下来,在需要退出的时候,关闭每一个打开的activity。
    List<Activity> activityList=new ArrayList<Activity>();
    public void setActivityList(Activity a){
    activityList.add(a);
    }

    public void deleteActivityList(){
    for(Activity a:activityList){
    a.finish();
    }
    }

    3.发送特定的广播:
    (1)在Activity里注册广播:
    MyReceiver receiver=new MyReceiver();
    IntentFilter filter=new IntentFilter();
    filter.addAction(Intent.ACTION_EDIT);
    super.registerReceiver(receiver, filter);
    (2)在MyReceiver里获得广播消息写相应的处理方法关闭activity

    (3)在关闭时发广播:
    Intent intent= new Intent();
    intent.setAction("finish");
    super.sendBroadCast(intent);

    4.递归退出:
    在打开新的Activity是使用startActivityForResult,然后加标签,在onActivityResult中处理,递归关闭。

  • 相关阅读:
    第二章第1节: 2020.04.22 智能互联网之核心技术实践篇【一】
    分布式和集群理解
    CMDB了解
    Git常用命令
    brpc支持多协议
    数据库性能瓶颈了解
    接口理解
    mysql explain与索引
    InnoDB的redo log学习
    数据库抖动原因了解
  • 原文地址:https://www.cnblogs.com/jiuqing/p/4138678.html
Copyright © 2020-2023  润新知