当新通知出现时,旧通知的标题和文本在android中被清除

时间:2015-06-22 11:29:17

标签: android android-notifications

我正在创建一个在不同时间发出通知的应用程序。通知栏中的第一个通知显示正常,带有图标,标题和文本。但是当第二个通知出现时,第一个通知的标题和文本被清除,第二个通知显示。对于第三个通知,第二个通知的标题和文本将被清除,依此类推。 我正在使用的代码是

        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());

任何帮助将不胜感激。提前谢谢。

2 个答案:

答案 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的通知不会被覆盖,您可以在通知面板中看到多个通知。希望这会有所帮助。

相关问题