1

我正在尝试在通知栏中显示元素列表。现在我有一组通知,但我单击的每个通知都将我带到相同的活动,即我无法存储通知的位置。

这是我的代码

    if (list != null && !list.isEmpty()) {
        for (int i = 0; i < list.size(); i++) {
            NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
                    context)
                    .setSmallIcon(R.drawable.ic_launcher)
                    .setContentTitle(
                            "Coupon Received From "
                                    + list.get(i).merchantName)
                    .setContentText(
                            "Coupon Value : "
                                    + list.get(i).couponValue)
                    .setAutoCancel(true)
                    .setTicker("Coupon alert message from Kluebook")
                    .setVibrate(new long[] { 100, 250, 100, 250 });

            Intent resultIntent = new Intent(context,
                    CouponDetailActivity.class);
            resultIntent.putExtra("couponid",
                    list.get(i).couponid);
            resultIntent.putExtra("position", list.get(i).i);
            resultIntent.putExtra("branchid",
                    list.get(i).issuedBranchid);
            PendingIntent resultPendingIntent = PendingIntent.getActivity(
                    context, 0, resultIntent,
                    PendingIntent.FLAG_UPDATE_CURRENT);
            mBuilder.setContentIntent(resultPendingIntent);
            NotificationManager mNotifyMgr = (NotificationManager) context
                    .getSystemService(context.NOTIFICATION_SERVICE);
            mNotifyMgr.notify(i + 1, mBuilder.build());

        }
    } else {
        System.out.println("+++++++++++ IT IS EMPTY +++++++++++++++ list");
      }
   }

如果我在通知栏中收到 5 个通知,则每个通知都会将我带到第一个通知活动。

4

1 回答 1

0

由于您使用相同的上下文来创建所有通知的 PendingIntent,我认为所有这些通知都将您带到相同的活动(在您的情况下为 CouponDetailActivity)。因此,我会尝试使用不同的 Activity 上下文和未决意图创建不同的通知,这应该会将您带到您想要的活动!

于 2013-07-08T19:18:55.343 回答