LocalBroadcastManager已经被废弃,所以要用得加下面这行
implementation ‘androidx.localbroadcastmanager:localbroadcastmanager:1.0.0’
package com.example.myapplication.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.myapplication.R;
public class BroadActivity extends AppCompatActivity {
private Button mBtn1;
private TextView mTvTest;
private MyBroadcast mBroadcast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_broad);
mBtn1 = findViewById(R.id.btn1);
mTvTest = findViewById(R.id.tv_test);
mBtn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(BroadActivity.this,BroadActivity2.class);
startActivity(intent);
}
});
mBroadcast = new MyBroadcast();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("com.sixiaohai.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.sixiaohai.update":
mTvTest.setText("123");
break;
}
}
}
@Override
protected void onDestroy() {
super.onDestroy();
LocalBroadcastManager.getInstance(this).unregisterReceiver(mBroadcast);
}
}
package com.example.myapplication.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.os.Bundle;
import android.view.View;
import android.widget.Button;
import com.example.myapplication.R;
/*
* implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
* */
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_click);
mBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent("com.sixiaohai.update");
LocalBroadcastManager.getInstance(BroadActivity2.this).sendBroadcast(intent);
}
});
}
}