Android无法从bundle中获取布尔值
在我的GcmListenerService中,我获得了以下捆绑数据: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
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"));