PendingIntent无法处理通知

时间:2016-03-21 09:11:09

标签: android google-cloud-messaging android-pendingintent

我正在显示多个通知,每个通知都有自己的ID,因此所有通知都会正确显示。我的问题是,当点击最后一个通知时,使用的PendingIntent是第一个而不是最后一个。我不明白为什么会这样,因为我正在使用FLAG_ONE_SHOT。这是一段代码:

final PendingIntent pendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_ONE_SHOT);
notificationBuilder.setContentIntent(pendingIntent);

提前致谢!

3 个答案:

答案 0 :(得分:0)

使用Pending Intent的不同requestCode而不是“0”。

  

final PendingIntent pendingIntent = stackBuilder.getPendingIntent(your_id,   PendingIntent.FLAG_ONE_SHOT);

答案 1 :(得分:0)

如果您想维护具有唯一ID的所有通知,那么这可能会对您有所帮助。

private PendingIntent getContentIntent(String key, Context context, int currentTimeStamp) {
    Intent intent = new Intent();
    intent.setComponent(getComponentName(context));
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
    return PendingIntent.getActivity(context, currentTimeStamp, intent, PendingIntent.FLAG_UPDATE_CURRENT);
}

此方法将返回待处理的意向对象

答案 2 :(得分:0)

更改待处理的意图ID。使用不同的代替0