android退出app的方法,Android 实现彻底退出自己APP 并杀掉所有相关的进程[通俗易懂]

android退出app的方法,Android 实现彻底退出自己APP 并杀掉所有相关的进程[通俗易懂]彻底杀掉App相关进程的代码publicvoidkillAppProcess(){//注意:不能先杀掉主进程,否则逻辑代码无法继续执行,需先杀掉相关进程最后杀掉主进程ActivityManagermActivityManager=(ActivityManager)CurrentActivity.this.getSystemService(Context.ACTIVITY_SERVIC…

大家好,又见面了,我是你们的朋友全栈君。

彻底杀掉 App 相关进程的代码

public void killAppProcess()

{

//注意:不能先杀掉主进程,否则逻辑代码无法继续执行,需先杀掉相关进程最后杀掉主进程

ActivityManager mActivityManager = (ActivityManager)CurrentActivity.this.getSystemService(Context.ACTIVITY_SERVICE);

List mList = mActivityManager.getRunningAppProcesses();

for (ActivityManager.RunningAppProcessInfo runningAppProcessInfo : mList)

{

if (runningAppProcessInfo.pid != android.os.Process.myPid())

{

android.os.Process.killProcess(runningAppProcessInfo.pid);

}

}

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

System.exit(0);

}

需要注意的坑

1. KillProcess()

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

可以杀死当前应用活动的进程,这一操作将会把所有该进程内的资源(包括线程全部清理掉)。当然,由于 ActivityManager 时刻监听着进程,一旦发现进程被非正常 Kill,它将会试图去重启这个进程。

这就是为什么,有时候当我们试图这样去结束掉应用时,发现 app 会自动重新启动的原因.

2. System.exit()

System.exit() 是 Java 中结束进程的方法,调用它将关闭当前的 JVM 虚拟机。

//表示是正常退出;

System.exit(0);

//表示是非正常退出,通常这种退出方式应该放在catch块中

System.exit(1);

3. App crash 后重启

上面链接中的文章写得很好很全面,参考即可

以上这篇Android 实现彻底退出自己APP 并杀掉所有相关的进程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160774.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python换行符号怎么用_python中回车用什么表示

    python换行符号怎么用_python中回车用什么表示1、python语句,一般使用换行分隔,也就是说一行一条语句,一行过长的语句可以使用反斜杠(\)分解成几行小栗子#-*-coding:utf-8-*-#!/usr/bin/envpythona=102if(a==102)and\(a!=0):printa2、当然,不使用反斜线也可以跨行,那么就是用传说中的“三引号:(”””)”小栗子(如果打印的内容需要分成多行…

    2022年10月7日
    0
  • vba sendkeys用法_setcontent

    vba sendkeys用法_setcontent今天打算做个测试项目用emWin做界面,其中TEXT要设置背景色,调用方法为TEXT_SetBkColor(hItem,0x0000FF00);按理说应该有绿色背景色的,在VS调试中也是显示绿色背景色的,但是到单片机中确没有背景色的显示,很无语,研究到最后发现启用了ARGB,那么将最高位透明度设置为0xFF即可,即TEXT_SetBkColor(hItem,0xFF00FF00);下载到单…

    2022年10月10日
    0
  • 云服务器续费太贵,直接在家搭一台,再也不受约束了

    云服务器续费太贵,直接在家搭一台,再也不受约束了杀熟,劳神伤财,废旧利用,性能对比,费用,灵活性,优化,缺点,开机吧,少年,局域网访问,外网访问最终迁移

    2022年5月3日
    49
  • ARM开发环境搭建

    ARM开发环境搭建1.下载E:\ARM开发\工具软件\ARM裸机开发工具\Yagarto工具包路径下两个程序2.下载E:\ARM开发\工具软件\USB转串口驱动\CH3403.下载E:\ARM开发\工具软件\ARM裸机开发工具\JRE4.打开设备管理器->右键->更新5.6.选择E:\ARM开发\工具软件\ARM裸机开发工具\DRIVER目录下的(注意:此操作win7环境下,win7以上还要有点其他步骤)选择好就点你下一步7.出现红色弹窗点8.完成9.在E:\ARM开发\工具

    2022年5月29日
    37
  • 慧荣SM2246主控开卡一直处于Pretest状态解决方案

    慧荣SM2246主控开卡一直处于Pretest状态解决方案慧荣SM2246开卡;CH通道;CE使能

    2022年6月10日
    78
  • php 使用 ffmpeg 转换视频,截图,并生成缩略图

    php 使用 ffmpeg 转换视频,截图,并生成缩略图

    2021年10月9日
    63

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号