package com.example.day013;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class MyReceiver extends BroadcastReceiver {
private static final String TAG = "MyReceiver";
@Override
public void onReceive(Context context, Intent intent) {
Log.i(TAG, "onReceive: ");
}
}
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private Button send;
private LocalBroadcastManager localBroadcastManager;
private MyReceiver myReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
send = findViewById(R.id.send);
send.setOnClickListener(this);
//创建一个本地广播
localBroadcastManager = LocalBroadcastManager.getInstance(this);
//动态注册一个广播
myReceiver = new MyReceiver();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("com.zxy");
localBroadcastManager.registerReceiver(myReceiver,intentFilter);
}
@Override
public void onClick(View v) {
int id = v.getId();
switch (id) {
case R.id.send:
Intent intent = new Intent();
intent.setAction("com.zxy");
//注意广播的发送者
localBroadcastManager.sendBroadcast(intent);
break;
default:
break;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
//有注册就有销毁
localBroadcastManager.unregisterReceiver(myReceiver);
}
}
本地广播/全局广播
最新推荐文章于 2024-03-27 23:36:13 发布