第二次通知无效

Yoo*_*Yoo 6 android android-intent android-pendingintent

我尝试创建多个通知.如果单击通知,它将链接到另一个活动.在下面的代码之后,它会创建两行通知.但是,当我点击第一行通知时,它无法正常工作.只有第二个工作.

for (int i = 0; i < missionName.size(); i++) {
    mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    final Notification notifyDetails = new Notification(R.drawable.icon,
            "Mission Completed, Click Me!", System.currentTimeMillis());
    notifyDetails.defaults |= Notification.DEFAULT_SOUND;
    notifyDetails.defaults |= Notification.DEFAULT_VIBRATE;
    Context context = getApplicationContext();
    CharSequence contentTitle = missionName.get(i) + " is completed";
    CharSequence contentText = "Please click to view the mission";
    Intent notifyIntent = new Intent(getApplicationContext(),MissionMap.class);
    notifyIntent.putExtra("missionName", missionName.get(i));
    PendingIntent intent = PendingIntent.getActivity(ApplicationMenus.this,
            0, notifyIntent, android.content.Intent.FLAG_ACTIVITY_NEW_TASK);

    notifyDetails.setLatestEventInfo(context, contentTitle, contentText,
            intent);
    mNotificationManager.notify(i, notifyDetails);
}
Run Code Online (Sandbox Code Playgroud)

所以,请帮我找出我的错误.非常感谢.

Inc*_*App 22

您应该使用不同的请求代码创建PendingIntent.改变这个:

PendingIntent intent = PendingIntent.getActivity(ApplicationMenus.this,
        0, notifyIntent, android.content.Intent.FLAG_ACTIVITY_NEW_TASK);
Run Code Online (Sandbox Code Playgroud)

对此:

PendingIntent intent = PendingIntent.getActivity(ApplicationMenus.this,
        i, notifyIntent, android.content.Intent.FLAG_ACTIVITY_NEW_TASK);
Run Code Online (Sandbox Code Playgroud)

请注意,我已将第二个参数更改为循环索引(i)而不是0.如果使用相同的参数,则不会创建意图,而是使用具有相同参数的先前意图.

这应该可以解决您的问题.

  • walking home early because of you thanks @incrediApp (3认同)