我有一个应用程序,我必须更新通知文本和标题而不发送新通知。我如何做到这一点,我尝试了下面提到的代码。
代码: -
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());
}
}
答案 0 :(得分:1)
使用此选项以与现在使用0相同的notification_id更新标题
length < k+k
答案 1 :(得分:1)
来自Android Developer
通知 在API级别1中添加
void notify (int id, Notification notification)
发布要在状态栏中显示的通知。 如果您的应用程序已经发布了具有相同ID的通知但尚未取消,则该通知将被更新的信息替换。
答案 2 :(得分:0)
使用相同的通知ID,您可以使用本地广播管理器更新通知文本。