Android广播丢失的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。为什么会这样呢?

我明白了,调试器不会看到Bundle的内容,直到我从Bundle获得一些值。所以,我说messageReadData.getString("message_id")将为Null是不正确的。这是不对的。似乎Bundle或Intent支持延迟解析

最新更新