【发布时间】:2011-12-20 04:31:06
【问题描述】:
我能够很好地接收 C2DM 消息,但我想将数据发送到正在运行的活动,即当活动正在运行时,如果接收器接收到 C2DM 消息,则将数据发送到正在运行的活动。接收者的代码是(代码中没有错误):
public class C2dmreceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
Log.w("C2DM", "Message Receiver called");
if ("com.google.android.c2dm.intent.RECEIVE".equals(action))
{
final String payload = intent.getStringExtra("key1");
Log.d("C2DM", "message = " + payload );
}
}}
我在activity内部尝试过这样的尝试,试图在activity中注册receiver,以便receiver可以发送数据,运行activity可以接收数据:-
C2dmreceiver c2dmr = new C2dmreceiver();
Registration.this.registerReceiver(c2dmr, new IntentFilter());
我不知道在 IntentFilter() 中放什么,我还必须在活动代码和接收器代码中放什么,以便在活动运行时接收器发送一些 C2DM 消息可以将数据发送到正在运行的活动。
所以,请告诉我要放在活动和接收器中的代码,也可能在清单中,以便接收器的数据可以发送到正在运行的活动。
非常感谢任何建议。
【问题讨论】:
标签: android android-activity broadcastreceiver