无法找到此行为的解决方案: 当从GCM接收消息时,清单中的广播接收器正确处理它(创建通知)但是如果应用程序在屏幕上(显示祝酒并取消通知),我希望它做另一件事。
以下是清单上的代码:
<receiver android:name="com.google.android.gcm.GCMBroadcastReceiverPlus"
android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<!-- Receives the actual messages. -->
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<!-- Receives the registration id. -->
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<!-- Category -->
<category android:name="org.example.hello" />
</intent-filter>
这是适用于JB的代码,但不适用于以下代码:
public BroadcastReceiver registerCustomBR(){
IntentFilter filter = new IntentFilter();
filter.addAction("com.google.android.c2dm.intent.RECEIVE");
filter.setPriority(1);
receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String message = intent.getExtras().getString("text");
CharSequence text = "Message received in app: " + message;
Toast toast = Toast.makeText(context, text, Toast.LENGTH_LONG);
toast.show();
Log.i(TAG, "Message received: "+message);
ElementWave.messageReceived(context, intent);
abortBroadcast();
}
};
this.registerReceiver(receiver, filter);
return receiver;
}
非常新的android,所以我希望有一个简单的解决方案或任何明显的我缺少...