2016-08-31 24 views
0

ich einen Push von einer C# Anwendung empfange, die Antwort ist unten dargestellt (es ist ein Bündel):Extract Nachricht von malformed JSON GCM - Android

Bundle [ 
    { 
     google.sent_time=1472471614026, 
     gcm.notification.msgid=27, 
     google.message_id=0:1472471614038882%8e7302d58e7302d5, 
     gcm.notification.aps= 
     { 
      "badge":1, 
      "alert": 
      { 
       "action-loc-key":"alert action key", 
       "title":"The alert title", 
       "body":"The alert body" 
      } 
     }, 
     collapse_key=com.devise.push 
    } 
] 

Wie würde ich mich über den Titel zu erreichen und Körper der Warnung?

Ich habe bereits versucht, bundle.getString("gcm.notification.aps");

Antwort

-1

Ja Sie bereits

bundle.getString("gcm.notification.aps"); 

diese correnct versuchen, werden Sie voll JSON-String geben, so müssen Sie nur json analysieren wie diese

String res =bundle.getString("gcm.notification.aps"); 
    try { 
     JSONObject mJSONObject = new JSONObject(res); 
     String title =mJSONObject.getJSONObject("alert").getString("title"); 
     String action =mJSONObject.getJSONObject("alert").getString("action-loc-key"); 
     String body =mJSONObject.getJSONObject("alert").getString("body"); 
     Log.e(TAG, "MSG: " + title+ " :: " + action + " :: " + body); 

    }catch (JSONException e){ 
     e.printStackTrace(); 
    } 
+0

Ich habe bereits gesagt, dass getString nicht funktioniert – TejjD