单击通知时应用程序未启动或调用 onNewIntent

Application not launching or calling onNewIntent when notification clicked

我使用 GCM 成功发送了通知,但是当我点击它们时,没有任何反应。这是我的侦听器中的代码,我可以验证它是否正在执行,但是当我在 HomeActivity 中的 onCreateonNewIntent 方法上放置断点时,它们永远不会被命中。此外,如果该应用程序不是 运行,我仍然会收到通知,但不会启动该应用程序。我尝试了 here and here 的建议以及 Intent 标志的几种不同组合。我错过了什么吗?请询问您是否需要我 post 更多代码。

代码来自我的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());

您是否在清单中添加了 android:launchMode="singleTop"。并添加 intent.FLAG_ACTIVITY_SINGLE_TOP

已更新

android:exported="true" 添加到您的清单中,这可能会解决您的问题。