使用广播在页面间传递消息

相邻activity之间传递消息使用Intent比较方便,但是不相邻的activity之间传递消息是,用activity就比较麻烦了,这时间使用广播就完美的解决了这个问题。

首先,acvtivity发送一条广播

//NetUrl中的成员变量
public static final String action = "com.example.refresh";



//在activity中调用
Intent intent = new Intent(NetUrl.action);
intent.putExtra("refresh","111");
sendBroadcast(intent);

在需要的activity中接收广播

//声明 content
protected Context mContext;


//这activity的onCreate注册广播
mContext = this.getApplicationContext();

IntentFilter filter = new IntentFilter(NetUrl.action);
 mContext.registerReceiver(broadcastReceiver, filter);

//broadcastReceiver 写在onCreate方法外
BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {

        @Override
        public void onReceive(Context context, Intent intent) {
            String valueText=null;

            if ("111".equals(intent.getStringExtra("refresh"))){
                //此处接收到广播,写要进行的操作
            }

        }
    };

//一定要在onDestroy中注销,不然会内存溢出
@Override
    protected void onDestroy() {
        super.onDestroy();
        mContext.unregisterReceiver(broadcastReceiver);
       
    }

注意:一定要注销

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值