2

プロジェクトに GCM を実装しようとしていますが、onMessage 関数に問題があります。例によると、私は次のように書いています。

@Override
protected void onMessage(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
Log.d("GCM", "RECIEVED A MESSAGE: " + arg1.getStringExtra("message"));
// other part of the code goes here...
}

さて、この getStringExtra でエラーが発生します - このインテントにはそれが含まれていないようです。私はonMessageイベントを受け取ります、それは確かです。実際のメッセージを取得しようとすると、エラーが発生します。私のサーバーは以下を受け取ります:

{"multicast_id":7888157947681629492,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1348246306435688%196553bef9fd7ecd"}]}
4

3 に答える 3

7

GCM の規則は次のとおりです。送信時に「data.foo」として指定した値は、「foo」というインテント エクストラとして配信されます。サーバー上の POST データ ブロックに「data.message」を入れていますか?

于 2012-09-21T17:22:26.813 に答える
2

ブロードキャストonMessage()を受信して​​いる場合は、サーバー側のコードを確認してください。サーバー内のこの「メッセージ」変数にメッセージを割り当てていません。

于 2012-09-21T17:11:59.797 に答える
2

これを試してください。

String message = intent.getExtras().getString("message");
于 2012-12-26T11:03:09.087 に答える