我使用GCM成功发送通知,但是当我点击它们时,没有任何反应。这是我的监听器中的代码,我可以验证它是否正在执行,但是当我在onCreate
中的onNewIntent
和HomeActivity
方法上放置断点时,它们永远不会被击中。此外,如果该应用程序未运行,我仍然会收到通知,但该应用程序未启动。我尝试了here和here的建议以及Intent标志的几种不同组合。我错过了什么吗?请询问您是否需要我发布更多代码。
我GcmListenerService
notificationBuilder = new NotificationCompat.Builder(this)
.setContentTitle(getString(appNameID))
.setContentText(payload)
.setSmallIcon(iconID)
.setLargeIcon(BitmapFactory.decodeResource(getResources(), bigIconID));
Intent resultIntent = new Intent(this, HomeActivity.class);
resultIntent.putExtra(HomeActivity.NOTIFICATION_ID_KEY, notificationID);
resultIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
resultIntent.setAction(HomeActivity.NOTIFICATION_ACTION);
PendingIntent resultPendingIntent = PendingIntent.getActivity(this, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
notificationBuilder.setContentIntent(resultPendingIntent);
// Set Vibrate, Sound and Light
int defaults = 0;
defaults = defaults | Notification.DEFAULT_LIGHTS;
defaults = defaults | Notification.DEFAULT_VIBRATE;
defaults = defaults | Notification.DEFAULT_SOUND;
notificationBuilder.setDefaults(defaults);
notificationBuilder.setAutoCancel(true);
// Post a notification
notificationManager.notify(NOTIFY_ID, notificationBuilder.build());
答案 0 :(得分:3)
您是否在清单中添加了 android:launchMode =“singleTop”。并添加 intent.FLAG_ACTIVITY_SINGLE_TOP
<强>已更新强>
Aadd android:exported =“true”到您的清单,这可能会解决您的问题。