在Android GCM中获取相同的消息

时间:2013-01-10 11:22:13

标签: android .net push-notification google-cloud-messaging

我的Android应用程序获得相同的消息,如“你收到消息”。即使我在服务器端更改数据。

服务器端代码(点网):

string postData = "collapse_key=score_update&time_to_live=108&delay_while_idle=1&data.message="
                + Label1.Text + "&data.time=" + System.DateTime.Now.ToString() + "&registration_id=" + regId + "";

必须对GCM应用代码进行任何更改吗?

 protected void onMessage(Context context, Intent intent) {
        Log.i(TAG, "Received message");
        String message = getString(R.string.gcm_message);
        //String message = intent.getExtra("message"); 
        displayMessage(context, message);
        // notifies user
        generateNotification(context, message);
    }

在搜索google时,我发现了一些我们必须替换的内容

String message = getString(R.string.gcm_message);

String message = intent.getExtra("message"); 

但是我得到这样的错误“方法getExtra(字符串)未定义类型Intent”。请指导我,我在这里缺少什么?

2 个答案:

答案 0 :(得分:2)

使用

String message = intent.getStringExtra("message");

而不是

String message = intent.getExtra("message"); 

从Intent获取字符串消息

编辑:

如果您在Bundle实例中接收数据,则更改您的代码,因为getExtra不是Intent类中的方法:

 Bundle bundle = intent.getExtras("bundle_Name_here");

现在使用密钥

从包中检索所有值

答案 1 :(得分:0)

将此添加到 HTTP POST

data.notId="2"

对于每个不同的notId,它将作为不同的消息进行威胁。我很长一段时间遇到了同样的问题,现在我想把这些消息分组。