Java 从包中提取数据
AWS SNS正在向发送有效负载Java 从包中提取数据,java,android,regex,bundle,Java,Android,Regex,Bundle,AWS SNS正在向发送有效负载 @Override public void onMessageReceived(final String from, final Bundle data) { String message = getMessage(data); Log.d(LOG_TAG, "Message: " + message); int timeToLive = data.getInt("time_to_live"); Log.d(LOG_TAG, "
@Override
public void onMessageReceived(final String from, final Bundle data) {
String message = getMessage(data);
Log.d(LOG_TAG, "Message: " + message);
int timeToLive = data.getInt("time_to_live");
Log.d(LOG_TAG, "time_to_live: " + timeToLive);
String text = data.getString("text");
Log.d(LOG_TAG, "Text: " + text);
信息的形式是
PushListenerService: Message: {
"condition": "normal”,
"priority" : "normal",
"time_to_live" : 0,
"notification" : {
"body" : “random gibberish”,
"title" : "TEST TITLE”,
"icon" : “ic_launcher”
},
"data" : {
“GeoHash” : 1,
"text" : "TEST TEXT”
}
}
D/PushListenerService: time_to_live: 0
D/PushListenerService: Text: null
如何从中提取数据?我希望PushListener返回文本:测试文本。我可以查询类似于查询json的包吗?正则表达式
getMessage方法:
public static String getMessage(Bundle data) {
return data.containsKey("default") ? data.getString("default") : data.getString(
"message", "");
}
你不能这样做吗:
Bundle payload = data.getBundle("data");
String text = payload.getString("text");
将消息转换为json,然后作为jsonObject检索数据。如果您有疑问,请告诉我,数据是Bundle类型的,不喜欢GetJSONObject。那么是这样吗p这仍然会在有效负载上返回null:/getMessage方法中有什么?在上面编辑了它