android笔记之activity与broadreceiver通信

这篇博客探讨了在Android应用中,BroadcastReceiver如何接收外部消息并传递给指定的Activity进行处理,详细阐述了在BroadcastReceiver和Activity中实现通信的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

broadreceiver从其他地方接收到消息,然后在将消息转发给指定的activity

在BroadcastReceiver中:

public class MsgReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.i(TAG, "TimeReceiver+++");
        Intent i = new Intent(); 
        i.putExtra("MsgReceiver","hello ,i am MsgReceiver "));  
        //设置发送广播的类型,可以随便写一个  
        i.setAction("msgReciver");  
        context.sendBroadcast(outletInten);
    }
}

在Activity中:

public class ActivityA extends Activity {

    private ActivityAReceiver mActivityAReceiver =new ActivityAReceiver();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_a);

        IntentFilter filter = new IntentFilter();
        // 设置接收广播的类型,这里要和Service里设置的类型匹配,还可以在AndroidManifest.xml文件中注册
        filter.addAction("msgReciver");
         // 注册广播接收器
        this.registerReceiver(mActivityAReceiver , filter); 
        }
    }
    // 定义一个广播接收器
    public class ActivityAReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            // TODO Auto-generated method stub
            // 接收到Service发送的广播信息,得到数据
            Bundle bundle = intent.getExtras();
            String msg = bundle.getString(ALARM_MESSAGE);
            Toast.makeText(getApplicationContext(), msg, Toast.LENGHT_SHORT);

            //现在你可以对activity操作了,更新UI等
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值