Android 广播丢失捆绑包数据

Android broadcast loosing Bundle data

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

            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);

在 Activity 我收到广播并尝试解析它:

            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 支持延迟解析。