将文字添加到预先存在的通知中

时间:2016-05-07 21:54:54

标签: android android-intent notifications android-pendingintent

我有一项活动会生成一个30分钟后触发的通知。 我的通知正常。该通知可以被用户驳回,但会一直持续到被驳回(这是故意的行动)。

如果我再次运行活动,我希望从活动传递的新信息附加到现有通知。 我正在努力编写一个条件方法来更新通知,附加文本而不是替换已经存在的内容文本。

这全部保存在由待定意图调用的接收器类中:

public void onReceive(Context context, Intent notifyIntent) {
    //attempt at using existing number held in the notification
    if (notifyNumber != null){
        oldNoticationNumber = " + " + notifyNumber;
    } else {
        oldNotificationNumber = "";
    }


    //Import Variables

    numberFromActivity = notifyIntent.getStringExtra(ImplementingClass.numberFromActivity);
    if ("".equals(numberFromActivity)){
        numberFromActivity = "..(NOT SUPPLIED)..";
    }
    notifyNumber = numberFromActivity + oldNotificationNumber;


    //Notification
    mNotificationManager = (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE);


    int notifyID = 1;
    Uri notificationSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
    mNotifyBuilder = new NotificationCompat.Builder(context)
                .setContentTitle("Check blah blah blah for...")
                .setContentText("A number: " + notifyNumber)
                .setSmallIcon(R.drawable.ic_stat_name)
                .setSound(notificationSound)
                .setVibrate(new long[] { 500, 200, 500, 200, 500,200 });

    // Because the ID remains unchanged, the existing notification is
    // updated.
    mNotificationManager.notify(
            notifyID,
            mNotifyBuilder.build());
}

正如你所看到的,我认为可行的是,如果通知仍然存在(即没有被解雇),它将保留变量

Private String notifyNumber

但它所做的就是用新的notifyNumber替换以前的内容文本。

如果通知已被解除,那么我希望它只显示新的notifyNumber。

我试图避免创建多个Pending Intents。

0 个答案:

没有答案