1.发送
private void sendAliasBroadcastReceive(String userId) {
Intent aliasIntent = new Intent(Constants.MESSAGE_RECEIVED_ALIAS_ACTION);
aliasIntent.putExtra(Constants.LOGINUSERID, userId);
LocalBroadcastManager.getInstance(this).sendBroadcast(aliasIntent);
}
2.接收
//获取登陆成功用户id
private void registerAliasReceiver() {
mMessageReceiver = new MessageReceiver();
IntentFilter filter = new IntentFilter();
filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
filter.addAction(Constants.MESSAGE_RECEIVED_ALIAS_ACTION);
LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver, filter);
}
public class MessageReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
try {
if (Constants.MESSAGE_RECEIVED_ALIAS_ACTION.equals(intent.getAction())) {
String userId = intent.getStringExtra(Constants.LOGINUSERID);
}
} catch (Exception e) {
}
}
}
3.注销
@Override
protected void onDestroy() {
LocalBroadcastManager.getInstance(this).unregisterReceiver(mMessageReceiver);
super.onDestroy();
}
本文详细介绍了Android中使用LocalBroadcastManager进行本地广播发送与接收的方法。包括如何通过发送带有用户ID的广播、注册广播接收器以监听特定动作,以及在Activity销毁时注销接收器,确保资源正确释放。
323

被折叠的 条评论
为什么被折叠?



