当前位置: 首页 > 编程笔记 >

android中实现完全退出程序方法(退出所有activity)

邓鸿雪
2023-03-14
本文向大家介绍android中实现完全退出程序方法(退出所有activity),包括了android中实现完全退出程序方法(退出所有activity)的使用技巧和注意事项,需要的朋友参考一下

这是一个很多很多人都 会遇到的问题,我也试过了很多方法,都不怎么好用。
比如:


System.exit(0);

不行。
还有什么跳转到第一个activity,同时把栈顶的activity全部清除,最后再finish();还是不行。。不知道为什么。
这里是我自己的一个方法,效果非常好。
原理:在每个activity都注册一个广播接收器,用来接收关闭activity的广播。当需要退出程序的时候就发送一条关闭activity的广播,这样所有的activity都会接收到,然后所有activity都会自己finish了。


package com.example.exitsystem;

import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle;

/**  * 所有activity都继承此类,同时也就等于注册了广播,  * 当需要完全退出系统的时候就可以发送广播,  * action为com.example.exitsystem.system_exit(自定义),  * 这样就可以随时退出所有的activity了  * @author LinZhiquan  *  */ public class SuperActivity extends Activity {  /** 广播action */  public static final String SYSTEM_EXIT = "com.example.exitsystem.system_exit";  /** 接收器 */  private MyReceiver receiver;    @Override  protected void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);      //注册广播,用于退出程序   IntentFilter filter = new IntentFilter();   filter.addAction(SYSTEM_EXIT);   receiver = new MyReceiver();   this.registerReceiver(receiver, filter);  }    @Override  protected void onDestroy() {   //记得取消广播注册   this.unregisterReceiver(receiver);   super.onDestroy();  }    private class MyReceiver extends BroadcastReceiver {   @Override   public void onReceive(Context context, Intent intent) {    finish();   }  } }


package com.example.exitsystem;

import android.os.Bundle;

/**  * 普通activity, 继承SuperActivity  * @author LinZhiquan  *  */ public class MainActivity extends SuperActivity {     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);     } }


需要退出程序的时候发送一条广播即可。


        Intent intent = new Intent();

        intent.setAction(SuperActivity.SYSTEM_EXIT);

        sendBroadcast(intent);

 类似资料:
  • 本文向大家介绍Android实现退出时关闭所有Activity的方法,包括了Android实现退出时关闭所有Activity的方法的使用技巧和注意事项,需要的朋友参考一下 本文示例实现了Android退出时关闭所有Activity的功能,分享给大家供大家参考之用。具体方法如下: 一般来说,在Android退出时,有的Activity可能没有被关闭。为了在Android退出时关闭所有的Activit

  • 本文向大家介绍Android双击退出的实现方法,包括了Android双击退出的实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android双击退出的实现方法。分享给大家供大家参考。具体实现方法如下: 方式一: 重写onBackPressed方法直接监听返回键(建议高版本用2.0以上) 方式二: (推荐使用) 希望本文所述对大家的Android程序设计有所帮助。

  • 本文向大家介绍Android实现长按back键退出应用程序的方法,包括了Android实现长按back键退出应用程序的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android实现长按back键退出应用程序的方法。分享给大家供大家参考。具体分析如下: 最近在做一个Android上的应用,碰到一个问题就是如何实现长按back键退出应用程序。在网上查找了很多资料,发现几乎没有这样的实现

  • 本文向大家介绍Android应用退出登录的实现方法,包括了Android应用退出登录的实现方法的使用技巧和注意事项,需要的朋友参考一下 每一个app都会有一个”退出登陆”的功能,当点击退出之后需要将所有的Activity都finish掉,开始是想将栈中的所有Activity清除掉,但是没有找到方法,后来用广播实现了 核心思想 当点击登陆的时候发送一个广播,然后在你的BaseActivity里面手动

  • 本文向大家介绍Android开发退出程序的方法汇总,包括了Android开发退出程序的方法汇总的使用技巧和注意事项,需要的朋友参考一下 Android程序有很多Activity,比如说主窗口A,调用了子窗口B,子窗口B又调用子窗口C,back返回子窗口B后,在B中如何关闭整个Android应用程序呢? 下面呐喊教程小编就给大家介绍android开发退出程序的几种方法。 1、finish()方法 f

  • 本文向大家介绍Android实现左滑退出Activity的完美封装,包括了Android实现左滑退出Activity的完美封装的使用技巧和注意事项,需要的朋友参考一下 1:定义一个自己的父级容器,让它继承自一个布局(LinearLayout、RelativeLayout都可以) 2.Acitity 在Activity的onCreate()方法里面   截止目前,这个功能已经实现了 解决问题:这个会