1

プッシュ通知にはGCM(Google Cloud Message)を利用しました。

通知がデバイスに到着すると、次のようになります。

Received: Bundle[{message=hello, android.support.content.wakelockid=2,
collapse_key=do_not_collapse, from=243316392621}]

ここで、通知時に表示されるメッセージのみ (この例では hello のみ) のような方法でメッセージと wakelockId を抽出したいと考えました。

ここで私のnotificationBuiderは以下の通りです:

  NotificationCompat.Builder mBuilder =
            new NotificationCompat.Builder(this)
    .setSmallIcon(com.example.example.R.drawable.icon)
    .setContentTitle("Example")
    .setDefaults(Notification.DEFAULT_ALL)     
    .setAutoCancel(true)
    .setStyle(new NotificationCompat.BigTextStyle()
    .bigText(msg))
    .setContentText(msg);

    mBuilder.setContentIntent(contentIntent);
    mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());

これについて私を案内してください。どんな助けでも大歓迎です。

4

2 に答える 2

0

あなたが受け取った通知に基づいて、それmsgはタイプBundleであり、その値はGCM BroadcastReceiver のintent.getExtras()場所でintentあると想定しています。intent

そこから関連するパラメーターを抽出する必要があります。

 String text = msg.getString ("message");
 NotificationCompat.Builder mBuilder =
            new NotificationCompat.Builder(this)
    .setSmallIcon(com.example.example.R.drawable.icon)
    .setContentTitle("Example")
    .setDefaults(Notification.DEFAULT_ALL)     
    .setAutoCancel(true)
    .setStyle(new NotificationCompat.BigTextStyle()
    .bigText(text))
    .setContentText(text);

 mBuilder.setContentIntent(contentIntent);
 mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());
于 2014-01-22T20:28:36.853 に答える
0

Recibido: バンドル [{mensaje = hola, android.support.content.wakelockid = 2, collapse_key = do_not_collapse, desde = 243316392621}]

このようにして、Googleはアプリケーションサーバーで定義したデータを送信し、このデータを次のように個別に読み取る必要があります

extras.getString (「メッセージ」)

message は、サーバー アプリケーションのキー値を定義したデータです。

于 2015-04-11T07:25:46.550 に答える