1

私の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);
    }

グーグルを検索する際に、これを置き換える必要があるものを見つけました

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

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

しかし、「メソッドgetExtra(String)は型Intentに対して未定義です」のようなエラーが発生します。これに欠けているものを教えてください。

4

2 に答える 2

2

使用する

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

それ以外の

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

インテントから文字列メッセージを取得するため

編集 :

Bundleインスタンスでデータを受信する場合は、getExtraがIntentクラスのメソッドではないため、コードを変更します。

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

キーを使用してバンドルからすべての値を取得するようになりました

于 2013-01-10T11:24:24.753 に答える
0

これをHTTPPOSTに追加します :

data.notId="2"

異なるnotIdごとに、異なるメッセージとして脅威にさらされます。私は長い間同じ問題を抱えていましたが、今はそれらのメッセージをグループ化したいと思います。

于 2015-03-19T15:15:16.960 に答える