专栏首页郭耀华‘s BlogAndroid 安全退出应用程序的方法总结

Android 安全退出应用程序的方法总结

正常关闭应用程序:

当应用不再使用时,通常需要关闭应用,可以使用以下三种方法关闭android应用:

第一种方法:首先获取当前进程的id,然后杀死该进程。

android.os.Process.killProcess(android.os.Process.myPid())  

通过这种方式不能将应用程序完全杀死,并且他不会把当前应用应用的Activity的task任务栈清空

第二种方法:终止当前正在运行的Java虚拟机,导致程序终止

System.exit(0);  

不会把自己的应用程序杀死

第三种方法:强制关闭与该包有关联的一切执行

ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);    
manager.restartPackage(getPackageName());  
<uses-permission android:name="android.permission.RESTART_PACKAGES" /> 

只能杀死别人,不能杀死自己


企业中做法:

创建类app 继承Application

AndroidMainfest -->name -->app //声明该类为整个应用程序全局的实例  

添加android:name=".全局实例App"

创建整个应用程序全局的实例

App.class:  
ArrayList<Activity> activities;

其他的Activity中:

public void onCreate(Bundle savedInstanceState) {  
    App app = (App) getApplication();//获取应用程序全局的实例引用  
    app.activities.add(this);  //把当前Activity放入集合中  
}  
public void onDestory(){  
    App app = (App) getApplication();//获取应用程序全局的实例引用  
    app.activities.remove(this); //把当前Activity从集合中移除  
}  

安全退出:

在菜单退出按钮的事件中定义如下代码:

App app = (App) getApplication();  
List<Activity> activities = app.activities;  
for(Activity act:activities){  
 act.finish();//显式结束  
}  

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android 安全退出应用程序的方法总结

    Android 安全退出应用程序的方法总结 正常关闭应用程序: 当应用不再使用时,通常需要关闭应用,可以使用以下三种方法关闭android应用: 第一种方法:首...

    郭耀华
  • android:scaleType属性

    ImageView.ScaleType.CENTER|android:scaleType="center" 以原图的几何中心点和ImagView的几何中心点为...

    郭耀华
  • 【中文版 | 论文原文】BERT:语言理解的深度双向变换器预训练

      本文介绍一种称之为BERT的新语言表征模型,意为来自变换器的双向编码器表征量(BidirectionalEncoder Representations fr...

    郭耀华
  • Android 安全退出应用程序的方法总结

    Android 安全退出应用程序的方法总结 正常关闭应用程序: 当应用不再使用时,通常需要关闭应用,可以使用以下三种方法关闭android应用: 第一种方法:首...

    郭耀华
  • docker网络之bridge

    https://blog.csdn.net/u014027051/article/details/53908878/

    charlieroro
  • Android图片加载框架最全解析(二),从源码的角度理解Glide的执行流程

    在本系列的上一篇文章中,我们学习了Glide的基本用法,体验了这个图片加载框架的强大功能,以及它非常简便的API。还没有看过上一篇文章的朋友,建议先去阅读 An...

    用户1158055
  • Duang~ Android堆栈慘遭毁容?精神哥揭露毁容真相!

    最近精神哥接到多个小伙伴的投诉,说无法看懂Bugly崩溃克星页面上显示的堆栈信息!精神哥赶紧把正研究的Top Crash崩溃和心爱的鸡爪放下,开始着手跟进。经分...

    腾讯Bugly
  • 100 Same Tree

    /** *题意:判断两棵二叉树 * Definition for a binary tree node. * function TreeNode(val...

    用户1624346
  • harbor修改了docker默认网卡失效原因

    修改了docker的默认网段,但是harbor启动时候又会出现docker默认的网段,故现找下原因

    SY小站
  • centos7服务器添加辅助网卡绑定多ip实践演示

    醉生萌死

扫码关注云+社区

领取腾讯云代金券