私のアプリでは、プッシュ通知を適用し、notificationCompat クラスを使用してそれらを作成しています。
各通知に一意の ID を割り当てているため、それぞれが通知バーに個別に表示されます。
ユーザーが保留中のインテントを使用して通知をクリックすると、以前のすべての通知を表示できる特定のアクティビティにユーザーを誘導します。(私は mysql db からそれらを読みました)。
質問 1 :ユーザーがいずれか 1 つだけをクリックすると、ステータス バーのすべての通知がクリアされるようにします。ランダムなものにすることができます(それが私のアプリからのものである場合)。setAutoCancel() メソッドは、押されたものだけを削除します。cancelAll() メソッドを実装する場所がわからないようです。
答え :
@Override
protected void onResume()
{
super.onResume();
NotificationManager notificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancelAll();
}
質問 2 :各通知には一意の ID があるため、個々のアプリから複数の通知を送信し、ユーザーから確認しない場合、通知バーに複数のアイコンが表示される可能性があります。Android は、それらがあまりにも多くのスペースを占有し始め、システムがそれらに十分なスペースがないことを認識すると、それらの収集とバッジ番号の表示を開始します。それらを最初から組み合わせる方法はありますか?つまり、通知を送信し、それがチェックされていない場合は常に、2 番目の通知が追加され、システムが使用するものに関係なく、番号 2 または + でバーに 1 つのアイコンが表示されます。