第八章 广播【Android基础学习】

  • 前言
  • 版权
  • 推荐
  • 开源
  • 第八章 广播
  • 8-1 LocalBroadcastManager
  • 最后


前言


推荐

【天哥】Android开发视频教程最新版 Android Studio开发

图片资源来自:
https://github.com/jinjungle/skypan-yes-code

开源

日星月云 / 安卓基础学习https://gitee.com/jsss-1/android-basic-learningjsss-1 / android-basic-learninghttps://github.com/jsss-1/android-basic-learning

第八章 广播

8-1 LocalBroadcastManager

只在应用内广播

只是演示广播的实现

这个场景:两个相邻页面传递信息

可以使用

startActivityForResult();

发送广播

Intent intent = new Intent("com.example.update");
 LocalBroadcastManager.getInstance(BroadActivity2.this).sendBroadcast(intent);

注册组件

mBroadcast = new MyBroadcast();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("com.example.update");
LocalBroadcastManager.getInstance(this).registerReceiver(mBroadcast, intentFilter);

接收广播

private class MyBroadcast extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            switch (intent.getAction()) {
                case "com.example.update":
                    mTvTest.setText("123");
                    break;
            }
        }
    }

安全处理:
页面销毁之后,取消注册

@Override
    protected void onDestroy() {
        super.onDestroy();
        LocalBroadcastManager.getInstance(this).unregisterReceiver(mBroadcast);
    }

BroadActivity
BroadActivity2
activity_broad1.xml
activity_broad2.xml

2024-6-11 20:39:22

最后

2024-6-11 20:39:22

迎着日光月光星光,直面风霜雨霜雪霜。