1、自定义广播
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("syx", "接收到了广播,可在此做处理");
}
}
2、使用广播
(1)自定义Action用于开启广播
public static final String BROADCAST_ACTION = “what.you.want.just.do.it.by.yourself”;
(2)声明自定义的广播
/**
* 自定义广播
*/
private MyBroadcastReceiver receiver;
(3)代码中注册广播
receiver = new MyBroadcastReceiver();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(BROADCAST_ACTION);
registerReceiver(receiver, intentFilter);
(4)操作的地方发出此广播事件,使用Intent
findViewById(R.id.click).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(BROADCAST_ACTION);
MainActivity.this.sendBroadcast(intent);
}
});
(5)界面销毁的地方清除注册的广播,防止内存泄漏
@Override
protected void onDestroy() {
super.onDestroy();
if (null!=receiver) {
unregisterReceiver(receiver);
}
}