2017-02-11 10 views
2

私は、ユーザーが必要とするものに対して複数の通知を受け取ることができるアプリを持っています。ユーザーは、これらの通知の一部を永続化する(NotificationCompat.Builder.setOngoingを呼び出すことで実現します)ように選択することができます。 NougatであるAndroidの少なくとも私のバージョンでは、3つ以上の通知が私のアプリによってポストされると、1つの通知にまとめられ、すべての通知が1回のスワイプでユーザに拒否されます。これにより、以前の永続通知は永続化されなくなります。プログラムでAndroidに通知をバンドルしないように指示する方法はありますか?Android:通知のバンドルを無効にする方法はありますか?

これは私が通知を構築し、それを表示するために使用するコードです:

NotificationCompat.Builder builder = new NotificationCompat.Builder(context) 
     .setSmallIcon(R.drawable.ic_notification) 
     .setContentTitle(eventName + " " + notificationText) 
     .setDefaults(Notification.DEFAULT_ALL) 
     .setOnlyAlertOnce(true) 
     .setContentIntent(eventListPendingIntent); 

if (goalInfo.goal.persistNotification) { 
    builder.setOngoing(true); 
} else { 
    builder.setAutoCancel(true); 
} 

NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 
notificationManager.notify(eventType.value(), builder.build()); 

おかげで、Googleドキュメントを1としてニール

+0

バンドルがデフォルトでは行われないため、コードスニペットを貼り付けることができます。あなたはバンドルを避けるべきではないことを明白にしなければならない何かをする必要があります – Dibzmania

+0

私の質問にコードを追加しました。 3つ以上の通知がある場合は、それだけをバンドルします... –

答えて

4

、同じアプリからの通知が自動的に同梱されるだろう -

注:同じアプリが4つ以上の通知を送信し、 がグループ化を指定していない場合は、グループ化が自動的にグループ化されます。

だからあなたの場合には、何を行うことができますすることは代わりにデフォルトのグループ化を適用するシステムの、あなたは別のグループの永続的な通知のための鍵と非永続的なもののために1を使用して2つのグループにあなたの通知を分離することができ、あります。

Googleドキュメントを確認してください。方法Builder.setGroup()NotificationBuilderCompatはキーである文字列パラメータをとります。 関連する方法B uilder.setGroupSummaryがありますので、電話する必要がありますBuilder

希望しています。

+0

ありがとう! setGroup()で通知ごとに異なるキーを使用しています。 –

+0

あなたが参照しているドキュメントへのリンクを追加して、Googleにグーグルの努力を捧げてください。 – Sampo

+0

このドキュメント:https://developer.android.com/guide/topics/ui/notifiers/notifications.html#bundle – kolombo

関連する問題