如何在不发送新通知的情况下更新通知标题和文本?

时间:2017-08-01 11:26:41

标签: android

我有一个应用程序,我必须更新通知文本和标题而不发送新通知。我如何做到这一点,我尝试了下面提到的代码。

代码: -

notifica("Test", "Testinggggggggggg");
    m_send = (Button) findViewById(R.id.send_another);

    m_send.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            builder.setContentTitle("Test3");
            builder.setContentText("Test3333333333");
            notificationManager.notify(0, builder.build());

        }
    });
}

public void notifica(String title, String message) {
    int color = getResources().getColor(R.color.colorPrimary);
    Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

    Intent intent = new Intent(this, HomeScreen.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent,
            PendingIntent.FLAG_ONE_SHOT);

    builder = new NotificationCompat.Builder(this);
    builder.setContentTitle(title);
    builder.setContentText(message);
    builder.setAutoCancel(false);
    builder.setSmallIcon(R.mipmap.ic_launcher);
    builder.setColor(color);
    builder.setStyle(new NotificationCompat.BigTextStyle().bigText(message));
    builder.setSound(defaultSoundUri);
    builder.setContentIntent(pendingIntent);

    notificationManager = (NotificationManager)
            getSystemService(Context.NOTIFICATION_SERVICE);
    notificationManager.notify(0, builder.build());
}

}

3 个答案:

答案 0 :(得分:1)

使用此选项以与现在使用0相同的notification_id更新标题

length < k+k

答案 1 :(得分:1)

来自Android Developer

通知 在API级别1中添加

void notify (int id, Notification notification)

发布要在状态栏中显示的通知。 如果您的应用程序已经发布了具有相同ID的通知但尚未取消,则该通知将被更新的信息替换。

答案 2 :(得分:0)

使用相同的通知ID,您可以使用本地广播管理器更新通知文本。