Android广播失去捆绑数据

时间:2015-07-16 11:23:46

标签: android broadcastreceiver bundle

我的应用程序中有服务和活动。 在服务中我这样做:

            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。为什么会这样?

1 个答案:

答案 0 :(得分:0)

我知道,在我从Bundle获得一些值之前,调试器没有看到Bundle的内容。所以,我说messageReadData.getString(“message_id”)将为Null是不正确的。这是不对的。似乎Bundle或Intent支持延迟解析。