Sto cercando di far funzionare le notifiche locali come Hangouts. Vorrei ricevere una notifica all'avviso ogni volta che viene ricevuto un nuovo messaggio di testo. Ma quando ci sono due o più notifiche non lette vorrei mostrare una notifica di riepilogo nella barra delle notifiche di Android. Sembra impilare la notifica tramite gruppi e aggiungere un riepilogo di gruppo dovrebbe funzionare come descritto here. Il codice qui sotto sembra funzionare per me su Android 5.0 e 5.1, ma su Android 6.0 la notifica locale non attiva l'allarme/viene visualizzata nella visuale a testa alta quando esiste una notifica di riepilogo per quel gruppo. Quindi viene visualizzata solo la notifica iniziale.Notifica di gruppo Android non attiva dopo l'aggiunta della notifica di riepilogo (Android 6.0)
public class MainActivity extends AppCompatActivity {
private Button _button = null;
final static String GROUP_KEY_EMAILS = "group_key_emails";
private int messageNum = 1;
private void CreateNotification() {
// Build the notification, setting the group appropriately
Notification headsUpNotification = new NotificationCompat.Builder(this)
.setContentTitle("Title")
.setContentText("New Message" + messageNum)
.setSmallIcon(R.drawable.pngreceivedtextmessage)
.setGroup(GROUP_KEY_EMAILS)
.setPriority(Notification.PRIORITY_HIGH)
.setDefaults(Notification.DEFAULT_ALL)
.build();
// Issue the notification
NotificationManagerCompat notificationManager =
NotificationManagerCompat.from(this);
notificationManager.notify(messageNum, headsUpNotification);
Bitmap largeIcon = BitmapFactory.decodeResource(getResources(),
R.drawable.pngreceivedmessageicon);
if(messageNum > 1) {
// Create a summary notification since we have more than 1
Notification summaryNotification = new NotificationCompat.Builder(this)
.setContentTitle("Summary")
.setNumber(messageNum)
.setSmallIcon(R.drawable.pngreceivedtextmessage)
.setLargeIcon(largeIcon)
.setGroup(GROUP_KEY_EMAILS)
.setGroupSummary(true)
.build();
notificationManager.notify(0, summaryNotification);
}
messageNum++;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
_button = (Button) findViewById(R.id.button);
_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
CreateNotification();
}
});
}
sto il targeting SDK 23 e provato molti combinazione diversa, ma non funziona niente. Qualcuno sa come generare una notifica di riepilogo e continuare a ricevere notifiche di avviso?
Hai chiesto permessi di runtime per Android M? –
Non pensavo che stavo facendo qualcosa che richiedeva un permesso. Quale permesso avrei bisogno? – Alex