android中实现完全退出程序方法(退出所有activity)
android中实现完全退出程序方法(退出所有activity)
发布时间:2016-12-28 来源:查字典编辑
摘要:这是一个很多很多人都会遇到的问题,我也试过了很多方法,都不怎么好用。比如:复制代码代码如下:System.exit(0);不行。还有什么跳转...

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

比如:

复制代码 代码如下:

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);

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新安卓软件开发学习
热门安卓软件开发学习
编程开发子分类