13

アプリでプッシュ通知を使用しています。プッシュ通知が配信されたときに通知を表示する必要があります。(以前の通知を消去せずに) 別の通知を送信すると、古い通知が置き換えられます。

これは私が使用するコードです:

NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

int icon = R.drawable.ic_launcher;
CharSequence tickerText = "New notification Pending";
long time = System.currentTimeMillis();

Notification notification = new Notification(icon, tickerText, time);
notification.flags = Notification.DEFAULT_LIGHTS | Notification.FLAG_AUTO_CANCEL;

// Context context = getApplicationContext();
CharSequence contentTitle = "Notifications";
CharSequence contentText = newMessage;
Intent notificationIntent = new Intent(this, LoginActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
        notificationIntent, 0);
notification.setLatestEventInfo(context, contentTitle, contentText,
        contentIntent);
mNotificationManager.notify(1, notification);

しかし、通知を置き換えるのではなく、新しい通知として追加したいのです。

4

6 に答える 6

3

簡単にあなたがしなければならない

通知 ID の変更

  mNotificationManager.notify(1, notification);

それ以外の1

詳細については、このリンクを参照してください

于 2013-06-17T13:01:03.723 に答える
2

1 にハードコーディングする代わりに、毎回新しい通知 ID を使用します。

int i = x; //Generate a new integer everytime
mNotificationManager.notify(i, notification);
于 2013-06-17T13:01:10.477 に答える
1

新しい通知を生成する一意の通知 ID が必要です。

ステータスバーに表示される通知を投稿します。同じIDの通知がアプリケーションによってすでに投稿されていて、まだキャンセルされていない場合は、更新された情報に置き換えられます.

  @param id An identifier for this notification unique within your application.
  @param notification A {@link Notification} object describing what to show the user. 
  Must not be null.

public void notify(int id, Notification notification)
{
    notify(null, id, notification);
}

例 :

int  id =(int) System.currentTimeMillis();
            mNotificationManager.notify(id, notify);
于 2016-08-05T12:26:37.283 に答える