Android无法从bundle获取布尔值

时间:2016-04-19 14:34:56

标签: 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");

但我无法在捆绑数据中获得继续布尔值。 我用过:

bundle.getBoolean("proceed",false);

即使数据包数据中的值为 true ,也总是给出错误。 这很简单,我不知道自己错过了什么。 感谢。

1 个答案:

答案 0 :(得分:3)

即使proceed的值看起来像boolean,它也可能存储在Bundle String中,这就是为什么你无法得到bundle.getBoolean()的价值它使用bundle.getString("proceed");

您应该使用String代替。

如果需要,您可以将boolean解析为boolean proceed = Boolean.parseBoolean(bundle.getString("proceed", "false"));

procedure TForm1.FormCreate(Sender: TObject);
begin
  TIPropertyGrid1.TIObject := self;
end;