如何获取特定通知的ID

时间:2017-05-09 09:44:00

标签: android

您好我已经创建了一个Notification类,我可以从中创建多个通知:

int id=0;
id++;
notification = new NotificationCompat.Builder(this)
            .setContentTitle(title)
            .setSmallIcon(icon)
            .setContentText(dataNotes)
            .setWhen(time)
            .setAutoCancel(false)
            .setOngoing(true)
            .addAction(action)
            .setStyle(new NotificationCompat.BigTextStyle().bigText(dataNotes))
            .build();

          nm.notify(id,notification);

所以,我的问题是如何获取我创建的每个通知的ID。我想在取消特定通知时使用该ID。 我知道StatusBarNotification包含getId()方法来获取ID,但我不知道如何实现它。任何人都可以帮助我。

1 个答案:

答案 0 :(得分:1)

只需将您的通知ID声明为静态即可。每次创建通知时,都会根据每个通知设置唯一的ID。

每次对通知执行操作时,都会获取意图ID。

按如下所示创建通知按钮,以对每个通知执行某些操作。

public ActionButtonConfig getEditCityButton(CountryConfig countryConfig,
  CityConfig cityConfig, Integer notificationId) {
ArrayList<Class> params = new ArrayList<>();
params.add(context.getClass());
params.add(countryConfig.getClass());
params.add(cityConfig.getClass());
params.add(notificationId.getClass());

ArrayList<Object> arguments = new ArrayList<>();
arguments.add(context);
arguments.add(countryConfig);
arguments.add(cityConfig);
arguments.add(notificationId);
return getActionButton(NotificationButton.ACTION, getParamArray(params),
    arguments.toArray());

}

此操作按钮配置将为您提供您需要对通知执行的任何操作。

public static int notificationCount = 0;

      void buildNotification(NotificationConfig notification) {
        try {

  buildNotification(//get items from notification config here and also notificationCount);
          notificationCount++;
        } catch (Exception e) {
          Log.e("Notification builder err",e);
        }
      }

在上面的代码中,看到通知计数是静态的,并且每次生成通知时,通知计数都会更新,并且之前的值可以在以后的阶段使用。

进一步通知使用通知管理器生成最后一行中的通知。

希望这有效。干杯