0

サーバーからイベントを取得するために gcm を使用していますが、これは正常に動作しますが、クラス GCMIntentService を使用して他のアクティビティと通信したいと考えています

メッセージを受信する方法があります

@Override
protected void onMessage(Context context, Intent intent) {

    Log.d("GCM", "RECIEVED A MESSAGE");
// Get the data from intent and send to notificaion bar
generateNotification(context, intent);
}

たとえば、データを MainActivity に送信したいのですが、それを行う方法が見つかりません。

Intent intent = new Intent(getBaseContext(), SignoutActivity.class);
intent.putExtra("EXTRA_SESSION_ID", sessionId);
startActivity(intent);

しかし、私の場合、新しいアクティビティを開始したくありません。実行中のアクティビティにデータを送信したいだけです。

ご協力いただきありがとうございます

4

1 に答える 1

1

私は解決策を見つけました、@selalererあなたの助けに感謝します

初めてレシーバーを初期化します。

    //receive events
private class Receiver extends BroadcastReceiver {

     @Override
     public void onReceive(Context arg0, Intent arg1) {
         System.out.println("receive");
     }
}

onCreateで追加

IntentFilter filter = new IntentFilter("local");
this.registerReceiver(new Receiver(), filter);

メッセージの送信を終了するには

Intent i=new Intent();
i.setAction("local");
i.putExtra("test","test");
sendBroadcast(i);
于 2013-05-04T09:13:02.907 に答える