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

时间:2015-07-16 20:09:14

标签: android android-notifications

我使用GCM成功发送通知,但是当我点击它们时,没有任何反应。这是我的监听器中的代码,我可以验证它是否正在执行,但是当我在onCreate中的onNewIntentHomeActivity方法上放置断点时,它们永远不会被击中。此外,如果该应用程序未运行,我仍然会收到通知,但该应用程序未启动。我尝试了herehere的建议以及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());

1 个答案:

答案 0 :(得分:3)

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

<强>已更新

Aadd android:exported =“true”到您的清单,这可能会解决您的问题。