İki veya daha fazla bildirimi yalnızca bir tanesine nasıl gruplandıracağımı ve "İki yeni iletiniz var" gibi bir ileti göstermeyi bilmiyorum.Whatsapp gibi android bildirimleri nasıl gruplanır?
cevap
Adımlar aşağıda kodundan bakım alınması Android dokümanlar bakın.
NotificationCompat.Builder:contains the UI specification and action information
NotificationCompat.Builder.build() :used to create notification (Which returns Notification object)
Notification.InboxStyle: used to group the notifications belongs to same ID
NotificationManager.notify():to issue the notification.
Bildirim oluşturmak ve gruplandırmak için aşağıdaki kodu kullanın. Bir buton tıklamasıyla fonksiyonu ekleyin. Tam mantık için
private final int NOTIFICATION_ID = 237;
private static int value = 0;
Notification.InboxStyle inboxStyle = new Notification.InboxStyle();
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.push_notify_icon);
public void buttonClicked(View v)
{
value ++;
if(v.getId() == R.id.btnCreateNotify){
NotificationManager nManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification.Builder builder = new Notification.Builder(this);
builder.setContentTitle("Lanes");
builder.setContentText("Notification from Lanes"+value);
builder.setSmallIcon(R.drawable.ic_launcher);
builder.setLargeIcon(bitmap);
builder.setAutoCancel(true);
inboxStyle.setBigContentTitle("Enter Content Text");
inboxStyle.addLine("hi events "+value);
builder.setStyle(inboxStyle);
nManager.notify("App Name",NOTIFICATION_ID,builder.build());
}
}
ayrı bildirimleri farklı NOTIFICATION_IDs atamak için
..Bildirimi, bildirim kimliğiyle NotificationManager.notify(ID, notification)
arayarak güncelleştirilebilmesi için oluşturmanız gerekir. o
- Update veya bir
NotificationCompat.Builder
nesneyi - oluşturun:
şu adımlar bildirim güncellemek için oluşturulması gerekir
android geliştirici dokümanlar alınan bir örnek:
mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// Sets an ID for the notification, so it can be updated
int notifyID = 1;
mNotifyBuilder = new NotificationCompat.Builder(this)
.setContentTitle("New Message")
.setContentText("You've received new messages.")
.setSmallIcon(R.drawable.ic_notify_status)
numMessages = 0;
// Start of a loop that processes data and then notifies the user
...
mNotifyBuilder.setContentText(currentText).setNumber(++numMessages);
// Because the ID remains unchanged, the existing notification is updated.
mNotificationManager.notify(notifyID, mNotifyBuilder.build());
...
Ayrıca İstifleme Bildirimler https://developer.android.com/training/wearables/notifications/stacks.html
Right. API kafa karıştırıcıyı buluyorum: NotificationCompatBuilder.setGroup() yöntemi, Wearable API'den geliyor. Amacı, bildirim gruplarını giyilebilir cihazlarda yönetmektir - aynı zamanda telefonu da etkiler. Ancak çoğu insan telefonda Gmail-Whastapp benzeri grupları arıyor. Cevap: Bildirimlerinizi güncellemek için bildirim kimliklerini kullanarak kendiniz yapmanız gerekir. Ayrıca, "özet" bildirimini hesaplayabilmek için verilerinizi her bildirim arasına kaydetmelisiniz - ki bu da bir önceki "özet olmayan" bildirimi değiştirmek için aynı kimliğe sahip olmanızı ve göndermenizi sağlar. . – John
i gruba tek tek her bir kullanıcı mesajı gerektiği gibi benim answer.I paylaşılan tercihleri ve yayın alıcılı mantığı kullanılan kontrol düşünün lütfen ve aktif bildirimleri göz önünde bulundurun.Amp anons düzeyini 23 hedefleyerek sadece aktif bildirimleri alabilirsiniz, bu bana hiç yardımcı olmadı.Bizim biraz mantık yazmaya karar verdim.
"FcmMessagingService" sınıfında oluşturucu için kod yazdım. İçsel bir sınıf içinde 'onMessageRecieved'.Tüm bildirimleri ayrıntılı olarak alabiliyorum ancak farklı uygulamalardan gelen bildirimlere benziyor. –