这是一个很多很多人都 会遇到的问题,我也试过了很多方法,都不怎么好用。
比如:
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()方法里面 截止目前,这个功能已经实现了 解决问题:这个会