发送广播广播avtivity

原创 2018年01月13日 14:57:50
定义一个广播类 :
public class BaseActivity extends Activity {
    //根据需求定义自己需要关闭页面的action
    public static final String RECEIVER_ACTION_FINISH_A = "receiver_action_finish_a";
    public static final String RECEIVER_ACTION_FINISH_B = "receiver_action_finish_b";
    public static final String RECEIVER_ACTION_FINISH_C = "receiver_action_finish_c";
    public static final String RECEIVER_ACTION_FINISH_D = "receiver_action_finish_d";

    private FinishActivityRecevier mRecevier;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mRecevier = new FinishActivityRecevier();
        registerFinishReciver();
    }

    private void registerFinishReciver() {
        IntentFilter intentFilter = new IntentFilter();
        intentFilter.addAction(RECEIVER_ACTION_FINISH_A);
        intentFilter.addAction(RECEIVER_ACTION_FINISH_B);
        intentFilter.addAction(RECEIVER_ACTION_FINISH_C);
        intentFilter.addAction(RECEIVER_ACTION_FINISH_D);
        registerReceiver(mRecevier, intentFilter);
    }

    private class FinishActivityRecevier extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            //根据需求添加自己需要关闭页面的action
            if (RECEIVER_ACTION_FINISH_A.equals(intent.getAction()) ||
                    RECEIVER_ACTION_FINISH_B.equals(intent.getAction()) ||
                    RECEIVER_ACTION_FINISH_C.equals(intent.getAction()) ||
                    RECEIVER_ACTION_FINISH_D.equals(intent.getAction())) {
                BaseActivity.this.finish();
            }
        }
    }

    @Override
    protected void onDestroy() {
        if (mRecevier != null) {
            unregisterReceiver(mRecevier);
        }
        super.onDestroy();
    }
}
在需要关闭的activity继承  BaseActivity
在需要关闭的地方调用下面这句
//通知所以界面关闭自己
BroadcastUtils.sendFinishActivityBroadcast(this);


public class BroadcastUtils {
    /**
     * 发送finish页面的广播
     * action可以自己根据需要添加
     *
     * @param context
     */
    public static void sendFinishActivityBroadcast(Context context) {
        Intent intent = new Intent(BaseActivity.RECEIVER_ACTION_FINISH_B);
        context.sendBroadcast(intent);
        intent = new Intent(BaseActivity.RECEIVER_ACTION_FINISH_C);
        context.sendBroadcast(intent);
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_20212147/article/details/79051449

android-BroadcastReceiver 发送一条普通广播

发送接收广播过程 1,程序中调用Context的sendBroadcast(Iintent)方法 2,intent启动intent中的广播名 intent.setAction("com.song....
  • superjunjin
  • superjunjin
  • 2012-04-22 15:59:15
  • 16292

Android发送广播Broadcast

BroadcastReceiver本质上时一种全局的监听器,用于监听系统全局的广播消息,实现系统中不同组件之间的通信。     调用sendBroadcast()即可发送广播,这条广播会启动inten...
  • ldld1717
  • ldld1717
  • 2016-09-05 20:30:46
  • 3851

Notification及在Notification里点击操作发送广播

Notification通知是在状态栏里显示的信息 一、Notification的实现:三步实现通知 1、定义通知: Notification mNotification = new Notifica...
  • ruanniu
  • ruanniu
  • 2013-09-25 10:42:47
  • 5735

Intent发送广播消息

Intent的另一种用途是发送广播消息,应用程序和Android系统都可以使用Intent发送广播消息,广播消息的内容是可以与应用程序密切相关的数据信息,也可以是Android的系统信息,例如网络连接...
  • yhaolpz
  • yhaolpz
  • 2016-04-29 12:16:12
  • 3148

Android发送广播的三种方式

发送广播三种发送方法。 sendBroadcast(),sendOrderedBroadcast()和sendStickyBroadcast() sendBroadcast()这个方法...
  • kunluo
  • kunluo
  • 2017-06-01 19:04:07
  • 1344

Android广播机制——广播的发送

基于Android 7.0源码,分析Android广播机制的发送过程。 按照广播的类型,可以分为普通广播、有序广播和sticky广播。...
  • yaowei514473839
  • yaowei514473839
  • 2017-01-19 16:44:04
  • 1866

Android广播入门,单个手机上App之间的发送接收

在这里给大家分享安卓四大组件之一Broadcastreceiver(广播)的学习,在这里今天做一个同一部手机上APP之间的广播发送和接收. 首先第一个App用于发送广播出去给其余的App,布...
  • CS2559371050
  • CS2559371050
  • 2017-02-07 19:02:20
  • 656

socket_浅谈发送广播包杂记

一,使用socket发送广播包的方法:1,sock = socket(AF_INET,SOCK_DGRAM,0);构建upd套接字setsockopt(sock, SOL_SOCKET, SO_BRO...
  • zhb123168
  • zhb123168
  • 2011-04-11 07:50:00
  • 11029

Android ADB命令发送广播

" adb shell am broadcast -a 你的广播 "打开命令行,输入如下指令:adb shell am broadcast -a android.intent.action.BOOT_...
  • ImSeekbar
  • ImSeekbar
  • 2015-05-07 19:24:26
  • 4887

AlarmManager 定时广播,定时服务

AlarmManager的作用文档中的解释是:在特定的时刻为我们广播一个指定的Intent。简单的说就是我们设定一个时间,然后在该时间到来时,AlarmManager为我们广播一个我们设定的Inten...
  • wds1181977
  • wds1181977
  • 2016-04-09 16:34:23
  • 1728
收藏助手
不良信息举报
您举报文章:发送广播广播avtivity
举报原因:
原因补充:

(最多只允许输入30个字)