【发布时间】:2021-12-09 00:06:42
【问题描述】:
我在服务中调用一个函数来向活动发送数据,我为此使用本地广播管理器,下面是服务中的代码
private void sendDataToActivity(List<WNotificationModel> notificationList) {
Intent intent=new Intent("listDataUpdate");
intent.putExtra("hello","helloWorld");
LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
}
下面是activity中接收数据的代码
public class WNotificationList extends AppCompatActivity {
private BroadcastReceiver mMessageReceiver=new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String name=intent.getStringExtra("hello");
Log.d("catAndDog", "onReceive: "+name);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_where_am_ilist_notification);
}
@Override
protected void onStart() {
super.onStart();
LocalBroadcastManager.getInstance(getApplicationContext()).registerReceiver(mMessageReceiver,new IntentFilter("listDataUpdate"));
}
@Override
protected void onStop() {
super.onStop();
LocalBroadcastManager.getInstance(getApplicationContext()).unregisterReceiver(mMessageReceiver);
}
}
【问题讨论】:
标签: java android android-intent bundle localbroadcastmanager