LocalBroadcastReceiverManager

BroadActivity(注册广播,接受广播)和xml

package com.example.test0508.broadcast;import androidx.appcompat.app.AppCompatActivity;import androidx.localbroadcastmanager.content.LocalBroadcastManager;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;import com.example.test0508.R;public class BroadActivity extends AppCompatActivity {    private Button mBtn1;    private TextView mTvTest;    private MyBroadcast myBroadcast;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_broad1);        mBtn1 = findViewById(R.id.btn_broad1_btn1);        mTvTest = findViewById(R.id.tv_broad1_test);        mBtn1.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                Intent intent = new Intent(BroadActivity.this,BroadActivity2.class);                startActivity(intent);            }        });        /**         * 注册广播         */        myBroadcast = new MyBroadcast();        IntentFilter intentFilter = new IntentFilter();        intentFilter.addAction("com.skypan.update");        LocalBroadcastManager.getInstance(this).registerReceiver(myBroadcast,intentFilter);    }    private class MyBroadcast extends BroadcastReceiver{        @Override        public void onReceive(Context context, Intent intent) {            //广播接受            switch (intent.getAction()){                case "ss":                    break;                case "com.skypan.update":                    mTvTest.setText("123");                    break;            }        }    }    @Override    protected void onDestroy() {        super.onDestroy();        //在destroy需要把广播取消掉        LocalBroadcastManager.getInstance(this).unregisterReceiver(myBroadcast);    }}
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".broadcast.BroadActivity"    android:orientation="vertical"    >    <Button        android:id="@+id/btn_broad1_btn1"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="click"        />    <TextView        android:id="@+id/tv_broad1_test"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="abc"        android:gravity="center"        android:textSize="20sp"        android:layout_marginTop="30dp"        /></LinearLayout>

BroadActivity2(发送广播)和xml

package com.example.test0508.broadcast;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import androidx.appcompat.app.AppCompatActivity;import androidx.localbroadcastmanager.content.LocalBroadcastManager;import com.example.test0508.R;public class BroadActivity2 extends AppCompatActivity {    private Button mBtn;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_broad2);        mBtn = findViewById(R.id.btn_broad2_click);        mBtn.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                Intent intent = new Intent("com.skypan.update");                LocalBroadcastManager.getInstance(BroadActivity2.this).sendBroadcast(intent);            }        });    }}
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:orientation="vertical"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".broadcast.BroadActivity">    <Button        android:id="@+id/btn_broad2_click"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="click me"        android:textAllCaps="false"        /></LinearLayout>

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. Tween动画
  2. Android颜色小工具
  3. [Android] Otto源码简析
  4. Android(安卓)-- RecyclerView
  5. adb 指令
  6. PagerBottomTabStrip
  7. Android:dagger2让你爱不释手-重点概念讲
  8. android录音功能的实现
  9. Android组件——使用DrawerLayout仿网易
  10. android radioButton 动态设置背景