36

Chcę zaimplementować stacked notifications on Android Wear Aby to zrobić, tworzę 1 powiadomienie zbiorcze i N indywidualnych powiadomień dla każdego "elementu". Chcę, aby tylko podsumowanie było wyświetlane w telefonie. Oto mój kod:Android: zgrupowane powiadomienia i podsumowanie nadal są wyświetlane oddzielnie w wersji 4.4 i poniżej.

private void showNotifications() { 
    NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); 
    showNotification1(notificationManager); 
    showNotification2(notificationManager); 
    showGroupSummaryNotification(notificationManager); 
} 

private void showNotification1(NotificationManager notificationManager) { 
    showSingleNotification(notificationManager, "title 1", "message 1", 1); 
} 

private void showNotification2(NotificationManager notificationManager) { 
    showSingleNotification(notificationManager, "title 2", "message 2", 2); 
} 

protected void showSingleNotification(NotificationManager notificationManager, 
             String title, 
             String message, 
             int notificationId) { 
    NotificationCompat.Builder builder = new NotificationCompat.Builder(this); 
    builder.setContentTitle(title) 
      .setContentText(message) 
      .setSmallIcon(R.mipmap.ic_launcher) 
      .setGroupSummary(false) 
      .setGroup("group"); 
    Notification notification = builder.build(); 
    notificationManager.notify(notificationId, notification); 
} 

private void showGroupSummaryNotification(NotificationManager notificationManager) { 
    NotificationCompat.Builder builder = new NotificationCompat.Builder(this); 
    builder.setContentTitle("Dummy content title") 
      .setContentText("Dummy content text") 
      .setStyle(new NotificationCompat.InboxStyle() 
        .addLine("Line 1") 
        .addLine("Line 2") 
        .setSummaryText("Inbox summary text") 
        .setBigContentTitle("Big content title")) 
      .setNumber(2) 
      .setSmallIcon(R.mipmap.ic_launcher) 
      .setCategory(Notification.CATEGORY_EVENT) 
      .setGroupSummary(true) 
      .setGroup("group"); 
    Notification notification = builder.build(); 
    notificationManager.notify(123456, notification); 
} 

Działa to dobrze na Androidzie 5.1, podsumowanie jest pokazany tylko w telefonie powiadomień paska:

enter image description here

Ale na Androidzie 4.4 to pokazuje również indywidualne powiadomienia 1 i 2:

enter image description here

w obu przypadkach powiadomienia na Android Wear przedstawiono w stos, zgodnie z potrzebami. Jak zrobić Android 4.4 wyświetla tylko powiadomienie podsumowujące na pasku powiadomień?

Odpowiedz

16

stałej to za pomocą

NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this); 

zamiast

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

i zastępując NotificationManager z NotificationManagerCompat w odpowiednich sygnatur metod.

+2

Działa na systemie Android 4.4, ale nie działa w wersji 4.0.4. –

Powiązane problemy