当前位置:   article > 正文

android中的广播退出机制broadcast_android broadcastreceiver stop自己

android broadcastreceiver stop自己

当我们在一个anctivity中需要关闭其他已经打开的activity的时候,广播退出机制是一个比较好的办法

下面来看源码,首先,我们需要先写一个父类:BaseActivity.java

  1. package com.createnets.www;
  2. import android.app.Activity;
  3. import android.content.BroadcastReceiver;
  4. import android.content.Context;
  5. import android.content.Intent;
  6. import android.content.IntentFilter;
  7. public class BaseActivity extends Activity {
  8. protected BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
  9. @Override
  10. public void onReceive(Context context, Intent intent) {
  11. finish();
  12. //杀死进程
  13. android.os.Process.killProcess(android.os.Process.myPid());
  14. }
  15. };
  16. @Override
  17. public void onResume() {
  18. super.onResume();
  19. // 在当前的activity中注册广播
  20. IntentFilter filter = new IntentFilter();
  21. filter.addAction("ExitApp");
  22. this.registerReceiver(this.broadcastReceiver, filter);
  23. }
  24. @Override
  25. protected void onDestroy() {
  26. // TODO Auto-generated method stub
  27. super.onDestroy();
  28. this.unregisterReceiver(this.broadcastReceiver);
  29. }
  30. }

然后呢,我们只需要子类去继承这个父类就行:



然后,我们需要在需要退出的activity,或者是“退出” 按钮所在的activity中加入close()函数即可,然后调用这个函数

  1. //关闭activity,只在需要退出的界面中使用
  2. public void close() {
  3. Intent intent = new Intent();
  4. intent.setAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS); // 说明动作
  5. this.sendBroadcast(intent);// 该函数用于发送广播
  6. super.finish();
  7. }


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/738361
推荐阅读
相关标签
  

闽ICP备14008679号