Java 类android.support.v4.app.NotificationCompat.Action 实例源码

项目:q-mail    文件:WearNotificationsTest.java   
@Override
public boolean matches(Object argument) {
    if (!(argument instanceof WearableExtender)) {
        return false;
    }

    WearableExtender wearableExtender = (WearableExtender) argument;
    for (Action action : wearableExtender.getActions()) {
        if (action.icon == icon && action.title.equals(title) && action.actionIntent == pendingIntent) {
            return true;
        }
    }

    return false;
}
项目:Applozic-Android-Chat-Sample    文件:WearableNotificationWithVoice.java   
private Action buildWearableAction() {
    String replyLabel = mContext.getString(replyLabelResourceId);
    RemoteInput remoteInput = new RemoteInput.Builder(EXTRA_VOICE_REPLY).setLabel(replyLabel).build();
    // Create an intent for the reply action
    if (pendingIntent == null) {
        Intent replyIntent = new Intent(mContext, notificationHandler);
        pendingIntent = PendingIntent.getActivity(mContext, (int) (System.currentTimeMillis() & 0xfffffff), replyIntent,
                PendingIntent.FLAG_UPDATE_CURRENT);
    }
    // Create the reply action and add the remote input
    NotificationCompat.Action action = new NotificationCompat.Action.Builder(actionIconResId,
            mContext.getString(actionTitleId), pendingIntent).addRemoteInput(remoteInput).build();
    return action;
}
项目:Applozic-Android-Chat-Sample    文件:WearableNotificationWithVoice.java   
private Action buildWearableAction() {
    String replyLabel = mContext.getString(replyLabelResourceId);
    RemoteInput remoteInput = new RemoteInput.Builder(EXTRA_VOICE_REPLY).setLabel(replyLabel).build();
    // Create an intent for the reply action
    if (pendingIntent == null) {
        Intent replyIntent = new Intent(mContext, notificationHandler);
        pendingIntent = PendingIntent.getActivity(mContext, (int) (System.currentTimeMillis() & 0xfffffff), replyIntent,
                PendingIntent.FLAG_UPDATE_CURRENT);
    }
    // Create the reply action and add the remote input
    NotificationCompat.Action action = new NotificationCompat.Action.Builder(actionIconResId,
            mContext.getString(actionTitleId), pendingIntent).addRemoteInput(remoteInput).build();
    return action;
}
项目:K9-MailClient    文件:WearNotificationsTest.java   
@Override
public boolean matches(Object argument) {
    if (!(argument instanceof WearableExtender)) {
        return false;
    }

    WearableExtender wearableExtender = (WearableExtender) argument;
    for (Action action : wearableExtender.getActions()) {
        if (action.icon == icon && action.title.equals(title) && action.actionIntent == pendingIntent) {
            return true;
        }
    }

    return false;
}
项目:FMTech    文件:NotificationManager.java   
public final void showHarmfulAppRemoveRequestMessage(String paramString1, String paramString2, String paramString3, byte[] paramArrayOfByte, int paramInt)
{
  Intent localIntent1 = PackageWarningDialog.createIntent(this.mContext, PackageWarningDialog.NO_ID, 2, paramString1, paramString2, paramString3, paramArrayOfByte, paramInt);
  String str1 = this.mContext.getString(2131362833);
  String str2 = this.mContext.getString(2131362832, new Object[] { paramString1 });
  int i = this.mContext.getResources().getColor(2131689580);
  Intent localIntent2 = PackageVerificationService.createRemovalRequestIntent$6548352b(this.mContext, paramString2, paramArrayOfByte);
  PendingIntent localPendingIntent = PendingIntent.getService(this.mContext, 0, localIntent2, 268435456);
  NotificationCompat.Action localAction = new NotificationCompat.Action(2130837703, this.mContext.getString(2131362807), localPendingIntent);
  showNewNotification("package..remove..request..".concat(paramString2), str1, str1, str2, str2, 2130837900, null, -1, localIntent1, false, null, true, "status", null, null, i, 2, localAction);
}
项目:android-simple-notification-app    文件:SimpleNotificationActivity.java   
private void showActionButtonsNotification() {
  Intent yesIntent = getNotificationIntent();
  yesIntent.setAction(YES_ACTION);

  Intent maybeIntent = getNotificationIntent();
  maybeIntent.setAction(MAYBE_ACTION);

  Intent noIntent = getNotificationIntent();
  noIntent.setAction(NO_ACTION);

  Notification notification = new NotificationCompat.Builder(this)
      .setContentIntent(PendingIntent.getActivity(this, 0, getNotificationIntent(), PendingIntent.FLAG_UPDATE_CURRENT))
      .setSmallIcon(R.mipmap.ic_launcher)
      .setTicker("Action Buttons Notification Received")
      .setContentTitle("Hi there!")
      .setContentText("This is even more text.")
      .setWhen(System.currentTimeMillis())
      .setAutoCancel(true)
      .addAction(new Action(
          R.mipmap.ic_thumb_up_black_36dp,
          getString(R.string.yes),
          PendingIntent.getActivity(this, 0, yesIntent, PendingIntent.FLAG_UPDATE_CURRENT)))
      .addAction(new Action(
          R.mipmap.ic_thumbs_up_down_black_36dp,
          getString(R.string.maybe),
          PendingIntent.getActivity(this, 0, maybeIntent, PendingIntent.FLAG_UPDATE_CURRENT)))
      .addAction(new Action(
          R.mipmap.ic_thumb_down_black_36dp,
          getString(R.string.no),
          PendingIntent.getActivity(this, 0, noIntent, PendingIntent.FLAG_UPDATE_CURRENT)))
      .build();

  notificationManager.notify(NOTIFY_ID, notification);
}
项目:Applozic-Android-SDK    文件:WearableNotificationWithVoice.java   
private Action buildWearableAction() {
    String replyLabel = mContext.getString(replyLabelResourceId);
    RemoteInput remoteInput = new RemoteInput.Builder(EXTRA_VOICE_REPLY).setLabel(replyLabel).build();
    // Create an intent for the reply action
    if (pendingIntent == null) {
        Intent replyIntent = new Intent(mContext, notificationHandler);
        pendingIntent = PendingIntent.getActivity(mContext, (int) (System.currentTimeMillis() & 0xfffffff), replyIntent,
                PendingIntent.FLAG_UPDATE_CURRENT);
    }
    // Create the reply action and add the remote input
    NotificationCompat.Action action = new NotificationCompat.Action.Builder(actionIconResId,
            mContext.getString(actionTitleId), pendingIntent).addRemoteInput(remoteInput).build();
    return action;
}
项目:javocsoft-toolbox    文件:ToolBox.java   
notification_createActionButton(Context context,
        NOTIFICATION_ACTION_TARGET_TYPE targetType,
        String actionKey,               
        Class<?> targetClazz, 
        String notificationIdKey, int notificationId,
        int iconId, String title, Bundle extras) {

    Intent i = new Intent(context, targetClazz);
    i.setAction(actionKey);
    i.putExtra(notificationIdKey, notificationId);

    if(extras!=null){
        i.putExtras(extras);
    }

    PendingIntent pIntent = null;
    if(targetType==null) {
        pIntent = PendingIntent.getBroadcast(context, ToolBox.random_getRandom().nextInt(), i, PendingIntent.FLAG_UPDATE_CURRENT);
    }else{
        switch (targetType) {
            case ACTIVITY:
                pIntent = PendingIntent.getActivity(context, ToolBox.random_getRandom().nextInt(), i, PendingIntent.FLAG_UPDATE_CURRENT);
                break;
            case RECEIVER:
                pIntent = PendingIntent.getBroadcast(context, ToolBox.random_getRandom().nextInt(), i, PendingIntent.FLAG_UPDATE_CURRENT);
                break;
            case SERVICE:
                pIntent = PendingIntent.getService(context, ToolBox.random_getRandom().nextInt(), i, PendingIntent.FLAG_UPDATE_CURRENT);
                break;
            default:
                pIntent = PendingIntent.getBroadcast(context, ToolBox.random_getRandom().nextInt(), i, PendingIntent.FLAG_UPDATE_CURRENT);
                break;
        }
    }

    android.support.v4.app.NotificationCompat.Action action = 
            new android.support.v4.app.NotificationCompat.Action(iconId, title, pIntent);

    return action;
}
项目:PeSanKita-android    文件:SingleRecipientNotificationBuilder.java   
public void addActions(@Nullable MasterSecret masterSecret,
                       @NonNull PendingIntent markReadIntent,
                       @NonNull PendingIntent quickReplyIntent,
                       @NonNull PendingIntent wearableReplyIntent)
{
  Action markAsReadAction = new Action(R.drawable.check,
                                       context.getString(R.string.MessageNotifier_mark_read),
                                       markReadIntent);

  if (masterSecret != null) {
    Action replyAction = new Action(R.drawable.ic_reply_white_36dp,
                                    context.getString(R.string.MessageNotifier_reply),
                                    quickReplyIntent);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
      replyAction = new Action.Builder(R.drawable.ic_reply_white_36dp,
                                       context.getString(R.string.MessageNotifier_reply),
                                       wearableReplyIntent)
          .addRemoteInput(new RemoteInput.Builder(MessageNotifier.EXTRA_REMOTE_REPLY)
                              .setLabel(context.getString(R.string.MessageNotifier_reply)).build())
          .build();
    }

    Action wearableReplyAction = new Action.Builder(R.drawable.ic_reply,
                                                    context.getString(R.string.MessageNotifier_reply),
                                                    wearableReplyIntent)
        .addRemoteInput(new RemoteInput.Builder(MessageNotifier.EXTRA_REMOTE_REPLY)
                            .setLabel(context.getString(R.string.MessageNotifier_reply)).build())
        .build();

    addAction(markAsReadAction);
    addAction(replyAction);

    extend(new NotificationCompat.WearableExtender().addAction(markAsReadAction)
                                                    .addAction(wearableReplyAction));
  } else {
    addAction(markAsReadAction);

    extend(new NotificationCompat.WearableExtender().addAction(markAsReadAction));
  }
}
项目:Cable-Android    文件:SingleRecipientNotificationBuilder.java   
public void addActions(@Nullable MasterSecret masterSecret,
                       @NonNull PendingIntent markReadIntent,
                       @NonNull PendingIntent quickReplyIntent,
                       @NonNull PendingIntent wearableReplyIntent)
{
  Action markAsReadAction = new Action(R.drawable.check,
                                       context.getString(R.string.MessageNotifier_mark_read),
                                       markReadIntent);

  if (masterSecret != null) {
    Action replyAction = new Action(R.drawable.ic_reply_white_36dp,
                                    context.getString(R.string.MessageNotifier_reply),
                                    quickReplyIntent);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
      replyAction = new Action.Builder(R.drawable.ic_reply_white_36dp,
                                       context.getString(R.string.MessageNotifier_reply),
                                       wearableReplyIntent)
          .addRemoteInput(new RemoteInput.Builder(MessageNotifier.EXTRA_REMOTE_REPLY)
                              .setLabel(context.getString(R.string.MessageNotifier_reply)).build())
          .build();
    }

    Action wearableReplyAction = new Action.Builder(R.drawable.ic_reply,
                                                    context.getString(R.string.MessageNotifier_reply),
                                                    wearableReplyIntent)
        .addRemoteInput(new RemoteInput.Builder(MessageNotifier.EXTRA_REMOTE_REPLY)
                            .setLabel(context.getString(R.string.MessageNotifier_reply)).build())
        .build();

    addAction(markAsReadAction);
    addAction(replyAction);

    extend(new NotificationCompat.WearableExtender().addAction(markAsReadAction)
                                                    .addAction(wearableReplyAction));
  } else {
    addAction(markAsReadAction);

    extend(new NotificationCompat.WearableExtender().addAction(markAsReadAction));
  }
}
项目:FMTech    文件:NotificationManager.java   
private void showNewNotification(final String paramString1, String paramString2, final String paramString3, final String paramString4, String paramString5, int paramInt1, Bitmap paramBitmap, int paramInt2, final Intent paramIntent1, boolean paramBoolean1, Intent paramIntent2, boolean paramBoolean2, String paramString6, Intent paramIntent3, String paramString7, int paramInt3, int paramInt4, NotificationCompat.Action paramAction)
{
  final NotificationCompat.Builder localBuilder = new NotificationCompat.Builder(this.mContext).setTicker(paramString2).setContentTitle(paramString3).setContentText(paramString4);
  localBuilder.mCategory = paramString6;
  localBuilder.mVisibility = 0;
  localBuilder.mLocalOnly = true;
  if (!TextUtils.isEmpty(paramString5)) {
    localBuilder.setStyle(new NotificationCompat.BigTextStyle().bigText(paramString5));
  }
  localBuilder.setSmallIcon(paramInt1);
  if (paramBitmap != null) {
    localBuilder.mLargeIcon = paramBitmap;
  }
  if (paramInt2 > 0) {
    localBuilder.mNumber = paramInt2;
  }
  localBuilder.mColor = paramInt3;
  localBuilder.mPriority = paramInt4;
  if (paramAction != null) {
    localBuilder.mActions.add(paramAction);
  }
  final int i = getNotificationId(paramString1);
  PendingIntent localPendingIntent1;
  if (!paramBoolean1)
  {
    localPendingIntent1 = PendingIntent.getActivity(this.mContext, i, paramIntent1, 1342177280);
    localBuilder.mContentIntent = localPendingIntent1;
    if (paramIntent2 != null)
    {
      PendingIntent localPendingIntent3 = PendingIntent.getBroadcast(this.mContext, i, paramIntent2, 1342177280);
      localBuilder.mNotification.deleteIntent = localPendingIntent3;
    }
    if ((paramIntent3 != null) && (!TextUtils.isEmpty(paramString7)))
    {
      PendingIntent localPendingIntent2 = PendingIntent.getBroadcast(this.mContext, i, paramIntent3, 1342177280);
      localBuilder.mActions.add(new NotificationCompat.Action(2130838134, paramString7, localPendingIntent2));
    }
    if (!paramBoolean2) {
      break label316;
    }
    localBuilder.setFlag(2, true);
  }
  for (;;)
  {
    RestrictedDeviceHelper.isLimitedOrSchoolEduUser(new RestrictedDeviceHelper.OnCompleteListener()
    {
      public final void onComplete(boolean paramAnonymousBoolean)
      {
        if (!paramAnonymousBoolean) {
          this.val$mgr.notify(i, localBuilder.build());
        }
        if (!paramAnonymousBoolean) {}
        for (boolean bool = true;; bool = false)
        {
          NotificationManager.access$100(bool, paramString1, paramString3, paramString4, paramIntent1);
          return;
        }
      }
    });
    return;
    localPendingIntent1 = PendingIntent.getBroadcast(this.mContext, i, paramIntent1, 1342177280);
    break;
    label316:
    localBuilder.setAutoCancel$7abcb88d();
  }
}
项目:TextSecureSMP    文件:MessageNotifier.java   
private static void sendSingleThreadNotification(Context context,
                                                 MasterSecret masterSecret,
                                                 NotificationState notificationState,
                                                 boolean signal)
{
  if (notificationState.getNotifications().isEmpty()) {
    ((NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE))
        .cancel(NOTIFICATION_ID);
    return;
  }

  List<NotificationItem>     notifications       = notificationState.getNotifications();
  NotificationCompat.Builder builder             = new NotificationCompat.Builder(context);
  Recipient                  recipient           = notifications.get(0).getIndividualRecipient();
  Drawable                   recipientPhoto      = recipient.getContactPhoto();
  int                        largeIconTargetSize = context.getResources().getDimensionPixelSize(R.dimen.contact_photo_target_size);

  if (recipientPhoto != null) {
    Bitmap recipientPhotoBitmap = BitmapUtil.createFromDrawable(recipientPhoto, largeIconTargetSize, largeIconTargetSize);
    if (recipientPhotoBitmap != null) builder.setLargeIcon(recipientPhotoBitmap);
  }

  builder.setSmallIcon(R.drawable.icon_notification);
  builder.setColor(context.getResources().getColor(R.color.textsecure_primary));
  builder.setContentTitle(recipient.toShortString());
  builder.setContentText(notifications.get(0).getText());
  builder.setContentIntent(notifications.get(0).getPendingIntent(context));
  builder.setContentInfo(String.valueOf(notificationState.getMessageCount()));
  builder.setPriority(NotificationCompat.PRIORITY_HIGH);
  builder.setNumber(notificationState.getMessageCount());
  builder.setCategory(NotificationCompat.CATEGORY_MESSAGE);
  builder.setDeleteIntent(PendingIntent.getBroadcast(context, 0, new Intent(DeleteReceiver.DELETE_REMINDER_ACTION), 0));
  if (recipient.getContactUri() != null) builder.addPerson(recipient.getContactUri().toString());

  long timestamp = notifications.get(0).getTimestamp();
  if (timestamp != 0) builder.setWhen(timestamp);

  if (masterSecret != null) {
    Action markAsReadAction = new Action(R.drawable.check,
                                         context.getString(R.string.MessageNotifier_mark_as_read),
                                         notificationState.getMarkAsReadIntent(context, masterSecret));
    builder.addAction(markAsReadAction);
    builder.extend(new NotificationCompat.WearableExtender().addAction(markAsReadAction));
  }

  SpannableStringBuilder content = new SpannableStringBuilder();

  ListIterator<NotificationItem> iterator = notifications.listIterator(notifications.size());
  while(iterator.hasPrevious()) {
    NotificationItem item = iterator.previous();
    content.append(item.getBigStyleSummary());
    content.append('\n');
  }

  builder.setStyle(new BigTextStyle().bigText(content));

  setNotificationAlarms(context, builder, signal,
                        notificationState.getRingtone(),
                        notificationState.getVibrate());

  if (signal) {
    builder.setTicker(notifications.get(0).getTickerText());
  }

  ((NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE))
    .notify(NOTIFICATION_ID, builder.build());
}
项目:TextSecureSMP    文件:MessageNotifier.java   
private static void sendMultipleThreadNotification(Context context,
                                                   MasterSecret masterSecret,
                                                   NotificationState notificationState,
                                                   boolean signal)
{
  List<NotificationItem> notifications = notificationState.getNotifications();
  NotificationCompat.Builder builder   = new NotificationCompat.Builder(context);

  builder.setColor(context.getResources().getColor(R.color.textsecure_primary));
  builder.setSmallIcon(R.drawable.icon_notification);
  builder.setContentTitle(context.getString(R.string.app_name));
  builder.setSubText(context.getString(R.string.MessageNotifier_d_messages_in_d_conversations,
                                       notificationState.getMessageCount(),
                                       notificationState.getThreadCount()));
  builder.setContentText(context.getString(R.string.MessageNotifier_most_recent_from_s,
                                           notifications.get(0).getIndividualRecipientName()));
  builder.setContentIntent(PendingIntent.getActivity(context, 0, new Intent(context, ConversationListActivity.class), 0));

  builder.setContentInfo(String.valueOf(notificationState.getMessageCount()));
  builder.setNumber(notificationState.getMessageCount());
  builder.setCategory(NotificationCompat.CATEGORY_MESSAGE);

  long timestamp = notifications.get(0).getTimestamp();
  if (timestamp != 0) builder.setWhen(timestamp);

  builder.setDeleteIntent(PendingIntent.getBroadcast(context, 0, new Intent(DeleteReceiver.DELETE_REMINDER_ACTION), 0));

  if (masterSecret != null) {
     Action markAllAsReadAction = new Action(R.drawable.check,
                                             context.getString(R.string.MessageNotifier_mark_all_as_read),
                                             notificationState.getMarkAsReadIntent(context, masterSecret));
     builder.addAction(markAllAsReadAction);
     builder.extend(new NotificationCompat.WearableExtender().addAction(markAllAsReadAction));
  }

  InboxStyle style = new InboxStyle();

  ListIterator<NotificationItem> iterator = notifications.listIterator(notifications.size());
  while(iterator.hasPrevious()) {
    NotificationItem item = iterator.previous();
    style.addLine(item.getTickerText());
    if (item.getIndividualRecipient().getContactUri() != null) {
      builder.addPerson(item.getIndividualRecipient().getContactUri().toString());
    }
  }

  builder.setStyle(style);

  setNotificationAlarms(context, builder, signal,
                        notificationState.getRingtone(),
                        notificationState.getVibrate());

  if (signal) {
    builder.setTicker(notifications.get(0).getTickerText());
  }

  ((NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE))
    .notify(NOTIFICATION_ID, builder.build());
}
项目:Silence    文件:SingleRecipientNotificationBuilder.java   
public void addActions(@Nullable MasterSecret masterSecret,
                       @NonNull PendingIntent markReadIntent,
                       @NonNull PendingIntent quickReplyIntent,
                       @NonNull PendingIntent wearableReplyIntent)
{
  Action markAsReadAction = new Action(R.drawable.check,
                                       context.getString(R.string.MessageNotifier_mark_read),
                                       markReadIntent);

  if (masterSecret != null) {
    Action replyAction = new Action(R.drawable.ic_reply_white_36dp,
                                    context.getString(R.string.MessageNotifier_reply),
                                    quickReplyIntent);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
      replyAction = new Action.Builder(R.drawable.ic_reply_white_36dp,
                                       context.getString(R.string.MessageNotifier_reply),
                                       wearableReplyIntent)
          .addRemoteInput(new RemoteInput.Builder(MessageNotifier.EXTRA_REMOTE_REPLY)
                              .setLabel(context.getString(R.string.MessageNotifier_reply)).build())
          .build();
    }

    Action wearableReplyAction = new Action.Builder(R.drawable.ic_reply,
                                                    context.getString(R.string.MessageNotifier_reply),
                                                    wearableReplyIntent)
        .addRemoteInput(new RemoteInput.Builder(MessageNotifier.EXTRA_REMOTE_REPLY)
                            .setLabel(context.getString(R.string.MessageNotifier_reply)).build())
        .build();

    addAction(markAsReadAction);
    addAction(replyAction);

    extend(new NotificationCompat.WearableExtender().addAction(markAsReadAction)
                                                    .addAction(wearableReplyAction));
  } else {
    addAction(markAsReadAction);

    extend(new NotificationCompat.WearableExtender().addAction(markAsReadAction));
  }
}
项目:opentasks    文件:NotificationUpdaterService.java   
public static Action getCompleteAction(Context context, PendingIntent intent)
{
    return new Action(R.drawable.ic_action_complete, context.getString(R.string.notification_action_complete), intent);
}
项目:opentasks    文件:NotificationUpdaterService.java   
public static Action getUnpinAction(Context context, PendingIntent intent)
{
    return new Action(R.drawable.ic_action_complete, context.getString(R.string.notification_action_complete), intent);
}
项目:opentasks    文件:NotificationUpdaterService.java   
public static Action getUnpinAction(Context context, int notificationId, Uri taskUri)
{
    return new Action(R.drawable.ic_pin_off_white_24dp, context.getString(R.string.notification_action_unpin), getUnpinActionIntent(context,
            notificationId, taskUri));
}
项目:opentasks    文件:NotificationUpdaterService.java   
public static Action getCompleteAction(Context context, int notificationId, Uri taskUri)
{
    return new Action(R.drawable.ic_action_complete, context.getString(R.string.notification_action_complete), getCompleteActionIntent(context,
            notificationId, taskUri));
}
项目:opentasks    文件:NotificationUpdaterService.java   
public static Action getDelay1hAction(Context context, int notificationId, Uri taskUri, long due, String timezone)
{
    return new Action(R.drawable.ic_detail_delay_1h_inverse, context.getString(R.string.notification_action_delay_1h), getDelayActionIntent(context,
            notificationId, taskUri, due, true, timezone, false));
}
项目:opentasks    文件:NotificationUpdaterService.java   
public static Action getDelay1dAction(Context context, int notificationId, Uri taskUri, long due, String timezone, boolean allday)
{
    return new Action(R.drawable.ic_detail_delay_1d_inverse, context.getString(R.string.notification_action_delay_1d), getDelayActionIntent(context,
            notificationId, taskUri, due, false, timezone, allday));
}
项目:javocsoft-toolbox    文件:ToolBox.java   
/**
 * Creates an action for a notification. Only for Android 4.1 (API level 16+)
 * <br><br>
 * The generated Action also has a field {@link ToolBox#NOTIFICATION_ID} in its extra
 * Bundle for afterwards being able to cancel the parent notification once the
 * action is consumed.<br><br>
 * 
 * See also {@link ToolBox#notification_createActionButton}
 * 
 * @param iconId            The icon resource id for the action.
 * @param title             The title.
 * @param actionIntent      The pending intent of the action.
 * @param notificationId    Used to be able to cancel a notification once
 *                          the action is consumed.
 * @return
 * @Deprecated Use {@link ToolBox#notification_createActionButton}
 */
public static android.support.v4.app.NotificationCompat.Action 
    notification_createAction(int iconId, String title, PendingIntent actionIntent, 
            int notificationId) {

    Action action = new Action(iconId, title, actionIntent);
    action.getExtras().putInt(NOTIFICATION_ID, notificationId);

    return action;
}