1

有没有办法从“gcm 通知”中获取数据。这是我用 gcm 发送的 json 字符串的一部分:“data”:{“state”:“deliver”}}。在这里,我使用 php curl 请求发送数据。提前致谢。

4

3 回答 3

9

GCM 以 JSON 格式发送数据。您需要解析 JSON 对象以获取您发送的数据。以下代码适用于我:

 public void onMessage(Context context, Intent intent)
  {
    String action = intent.getAction();
    if ("com.google.android.c2dm.intent.RECEIVE".equals(action)) {          
        message = intent.getStringExtra("data"); 
        String s=message.toString();
        parse_json_add(s);
    }
  }

然后解析 JSON :

private void parse_json_add(String text) {
    if (text!= null) 
    { 
         JSONObject temp=new JSONObject(text);
         value=temp.get("state").toString();    
    }
}
于 2012-07-24T07:27:39.783 回答
4

每当消息到达时,它将调用 OnMessage() 方法

你必须重写这个方法

@Override
    protected void onMessage(Context arg0, Intent arg1) {
        // TODO Auto-generated method stub
        Log.d("onMessage",arg1.getExtras().getString("state"));
          } 
于 2012-07-24T07:10:09.940 回答
1

您可以使用以下代码获取数据。有关更多信息,请查看处理接收的数据

String state = intent.getStringExtra("state");
于 2012-07-24T07:03:55.853 回答