Android无法从bundle中获取布尔值

Android无法从bundle中获取布尔值,android,google-cloud-messaging,android-bundle,gcmlistenerservice,Android,Google Cloud Messaging,Android Bundle,Gcmlistenerservice,在我的GcmListenerService中,我获得了以下捆绑数据: Bundle[{gcm.notification.e=1, gcm.notification.title=SomeApp, proceed=true, gcm.notification.body=Some text, message=Some message, collapse_key=example.com.SomeApp}] 我很抱歉,我可以通过 bundle.getString("message"); 但是我无法在b

在我的GcmListenerService中,我获得了以下捆绑数据:

Bundle[{gcm.notification.e=1, gcm.notification.title=SomeApp, proceed=true, gcm.notification.body=Some text, message=Some message, collapse_key=example.com.SomeApp}]
我很抱歉,我可以通过

bundle.getString("message");
但是我无法在bundle数据中获取procedure布尔值。 我用过:

即使捆绑数据中的值为true,也总是给出false。 这很简单,我不知道我错过了什么。
谢谢。

即使
继续
的值看起来是一个
布尔值
它很可能以
字符串的形式存储在
包中,这就是为什么不能使用
Bundle.getBoolean()
获取它的值

您应该使用
bundle.getString(“继续”)取而代之

如果需要,可以将
字符串
解析为
布尔值

boolean proceed = Boolean.parseBoolean(bundle.getString("proceed", "false"));

您是否尝试过使用
bundle.getString(“继续”)
要查看它是否存储为
字符串
?否,我使用了getBoolean,因为它有一个默认值。我必须用getString检查并检查空值。谢谢你的建议。它是意外发送的。谢谢,它现在正在工作。但我通过php将其作为布尔值发送到gcm服务器。所以我认为它仍然是布尔型的。我可以看到这里的混乱。我试着在文档中的某个地方查找是否所有值都作为字符串发送,但没有找到多少。
onMessageReceived
表示
捆绑包是
消息数据,作为字符串键/值对
。不确定这是否意味着键和值都始终
String
boolean proceed = Boolean.parseBoolean(bundle.getString("proceed", "false"));