首页 > 其他分享 >如何安全退出已调用多个Activity的Application

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

时间:2023-05-15 15:31:36浏览次数:37  
标签:activities 调用 void Activity Application static activity public


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

思路如下:建一个工具类,在里面管理 activity 的添加,移除和退出 app 的操作;

第一步,创建一个名字为 ActivityManage 的工具类,里面有添加 activity ,移除 activity 和退出 activity 的方法,代码如下:

public class ActivityManage {
    public static List<Activity> activities = new ArrayList<>();

    public static void addActivity(Activity activity) {
        activities.add(activity);
    }

    public static void removeActivity(Activity activity) {
        activities.add(activity);
    }

    public static void exitApp() {
        for (int i = 0; i < activities.size(); i++) {
            if (!activities.get(i).isFinishing()) {
                activities.get(i).finish();
            }
        }
    }
}

第二步,写一个名字为 BaseActivity 的类继承 Activity,在里面执行添加 activity 和移除 activity 的操作,代码如下:

public class BaseActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
        ActivityManage.addActivity(this);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        ActivityManage.removeActivity(this);
    }
}

最后,所有的 activity 继承 BaseActivity 即可。

 


标签:activities,调用,void,Activity,Application,static,activity,public
From: https://blog.51cto.com/u_16113862/6279058

相关文章

  • iframe里面的页面调用父窗口,左右窗口js函数的方法
     iframe里面的页面调用父窗口,左右窗口js函数的方法实现iframe内部页面直接调用该iframe所属父窗口自定义函数的方法。比如有A窗口,A内有个IFRAMEB,B里面的装载的是C页面,这时C要直接调用A里面的一个自定义函数AFUN();那么只要在C页面中写如下JS函数就可以了:window.parent.AFUN()......
  • WebApplicationInitializer究 Spring 3.1之无web.xml式 基于代码配置的servlet3.0应用
    大家应该都已经知道Spring3.1对无web.xml式基于代码配置的servlet3.0应用。通过spring的api或是网络上高手们的博文,也一定很快就学会并且加到自己的应用中去了。PS:如果还没,也可以小小参考一下鄙人的上一篇文章<<探Spring3.1之无web.xml式基于代码配置的servlet3.0应用>>。    ......
  • 调用外部接口方法之一 —— Feign 声明式调用
    1、需求调用处理中心提供的接口,将数据处理同步到其他系统中。2、实现2.1、添加相关依赖<!--Feign--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId><version>2.1.1.RELEAS......
  • LabVIEW调用 基恩士 XGX8500相机实现画面嵌入。 源程序开放
    LabVIEW调用基恩士XGX8500相机实现画面嵌入。源程序开放,方法开放。基恩士软件HX软件授权比较贵,此方案比较完美。ID:85100666073100344......
  • labview好看的动态启动界面,涉及二维图片写入,控件移动 ,动态调用等知识点,适合新手研究学
    labview好看的动态启动界面,涉及二维图片写入,控件移动,动态调用等知识点,适合新手研究学习。注:1.软件版本为2018版ID:6920613766485228......
  • Qt5 C++ 多线程工业气体标定 1)使用OPC 封装COM 2)C++调用OPC; 3
    Qt5C++多线程工业气体标定1)使用OPC封装COM2)C++调用OPC;3)使用经典界面;4)使用QT专业皮肤编程qss;5)C++链接PLC读写数据;6)赠送KEPSVR服务器;参数如下:-----------------------------1)编程语言:C++(11或以上);-----------------------------2)编程环境:QT5.14;-----------------------------......
  • 主要内容:挖掘源荷两侧低碳资源并分析其低碳性,荷侧调用不同响应速度的价格型、激励型需
    主要内容:挖掘源荷两侧低碳资源并分析其低碳性,荷侧调用不同响应速度的价格型、激励型需求响应资源克服多时间尺度下碳捕集电厂综合灵活运行方式的局限,通过源荷资源协调优化,从而提高系统的低碳性能。关键词:优化调度碳捕集需求响应源-荷协调多时间尺度文献:#计及碳捕集电厂低碳特......
  • Python学习之八_调用Outlook发送邮件以及调用远程windows上面的python
    Python学习之八_调用Outlook发送邮件以及调用远程windows上面的python摘要之前只有一个需求是发送加密邮件.之前一直是使用linux进行发送.但是总是无法发送加密邮件.最近学习python,发现可以使用python来调用outlook来发送邮件.这样就比较简单了.可以直接使用outlook的......
  • 《asyncio 系列》13. 在 asyncio 中调用命令行程序
    楔子Python编写的应用程序需要Python运行环境,然而,并不是所有我们想要交互的组件都是用Python编写的。我们可能已经使用了一个用C++、Go、Rust或其他语言编写的应用程序,这些语言提供了更好的运行时特征,或者可以提供很优秀的实现方式,而无需我们重新实现。可能还希望使用操......
  • Feign远程调用丢失请求头的问题
    前言:我们在写服务端项目的时候,总会限制对某些资源的访问,最常见的就是要求用户先登录才能访问资源,当用户登录后就会将此次会话信息保存进session,同时返回给浏览器指定的cookie键值,下次浏览器再次访问,请求头中就会携带这个cookie,我们也以次来识别用户的登录状态,做出正确响应。问......