我正在创建一个在不同时间发出通知的应用程序。通知栏中的第一个通知显示正常,带有图标,标题和文本。但是当第二个通知出现时,第一个通知的标题和文本被清除,第二个通知显示。对于第三个通知,第二个通知的标题和文本将被清除,依此类推。 我正在使用的代码是
Uri uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
long mNotificationId = System.currentTimeMillis();
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setSound(uri);
NotificationCompat.BigTextStyle bigTextStyle = new NotificationCompat.BigTextStyle();
bigTextStyle.setBigContentTitle("Time to Sleep!!!");
bigTextStyle.bigText("A good laugh and a long sleep are the best cures in the doctor's book.");
mBuilder.setStyle(bigTextStyle);
mBuilder.getNotification().flags |= Notification.FLAG_AUTO_CANCEL;
// Gets an instance of the NotificationManager service
NotificationManager mNotifyMgr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
// Builds the notification and issues it.
mNotifyMgr.notify((int)mNotificationId, mBuilder.build());
任何帮助将不胜感激。提前谢谢。
答案 0 :(得分:2)
我认为你只是为BigTextStyle设置文本
还设置小值或默认设置的值
例如
// Small - default style
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(context)
.setDefaults(Notification.DEFAULT_ALL)
.setSmallIcon(context.getApplicationInfo().icon)
.setWhen(System.currentTimeMillis())
.setContentTitle(extras.getString("title"))
.setTicker(extras.getString("title"))
.setContentIntent(contentIntent);
如果相同,请检查mNotificationId
值
如果相同,您可以使用以下内容生成随机数
Random random = new Random();
int m = random.nextInt(9999 - 1000) + 1000;
然后使用此m
mNotifyMgr.notify(m, mBuilder.build());
答案 1 :(得分:1)
尝试使用
<div class="main"></div>
<div class="all"><br/><br/><br/><br/><br/><br/><br/><br/><br/>
<div class="elems"></div>
<div class="elems"></div>
<div class="elems"></div>
<div class="elems"></div>
<div class="elems"></div>
<div class="elems"></div>
<div class="elems"></div>
<div class="elems"></div>
<div class="elems"></div>
<div class="elems"></div>
<div>
确保每次生成唯一ID。具有唯一ID的通知不会被覆盖,您可以在通知面板中看到多个通知。希望这会有所帮助。