Android启动广播时怎样往广播中传递参数

2025-05-08 17:54:10
推荐回答(1个)
回答1:

我们在android中使用广播来让其他监听广播的地方能够对相应的事情做处理,但有的时候我们仍然需要传递一些其他的附带值,而这个时候是可以直接用播放广播的intent来传递的。
例:
Intent intent = new Intent();
intent.putExtra("msgPersons", msgPersons);
intent.setAction(Constant.hasMsgUpdatedAction);
intent.putExtra("userId", userId);
intent.putExtra("msgCount", messages.size());
sendBroadcast(intent);
监听广播的代码:
if (type.equals(Constant.hasMsgUpdatedAction)) {
if (obj instanceof Intent) {
Intent intent = (Intent) obj;
String msgPersons = intent.getStringExtra("msgPersons");
.......
}
}
这里的obj实际上是广播监听函数public void onReceive(String type, Object obj)中的第二个参数。当时看到这个函数的时候,一直不明白第二个参数的作用,后来才发现,原来还可以通过它来得到intent。