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

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

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

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

复制代码 代码如下:
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)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1142336.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)

    保存