我的应用程序中有服务和活动。 在服务中我这样做:
Bundle data = new Bundle();
data.putString("message_id", "123");
data.putString("user_id", "321");
Intent dataIntent = new Intent(BROADCAST_ACTION).putExtra("message_read", data);
sendBroadcast(dataIntent);
在活动中我收到广播并尝试解析它:
if (intent.hasExtra("message_read")) {
Bundle messageReadData = intent.getBundleExtra("message_read");
updateItem(messageReadData.getString("message_id"), messageReadData);
}
但是messageReadData这里没有任何数据。所以messageReadData.getString(“message_id”)将为Null。为什么会这样?
答案 0 :(得分:0)
我知道,在我从Bundle获得一些值之前,调试器没有看到Bundle的内容。所以,我说messageReadData.getString(“message_id”)将为Null是不正确的。这是不对的。似乎Bundle或Intent支持延迟解析。