Столкнувшись с проблемой отображения уведомлений в android Lollipop. Когда приложение открыто, уведомления показывают, что приложение отлично, но когда приложение закрыто, они не отображаются. В 4х версиях Android все работает правильно. Вот метод, чтобы отобразить ихandroid Lollipop. Уведомления не работают
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void sendNotification(String body, String title, String badge) {
Intent intent = new Intent(this, MainActivity.class);
intent.putExtra("from_notify", true);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, Integer.valueOf(badge), intent,
PendingIntent.FLAG_ONE_SHOT);
Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_stat_name)
.setContentTitle(title)
.setContentText(body)
.setPriority(Notification.PRIORITY_HIGH)
.setShowWhen(true)
.setVisibility(Notification.VISIBILITY_PUBLIC)
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent);
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, notificationBuilder.build());
}
Я проверил ваш код на моем устройстве с леденец, и он отлично работает. Протестировано в обоих случаях, начиная с активности и с широковещательного приемника. Чтобы убедиться, что активность мертва, приемник отвечает на действие BOOT. Так что проблема в другом месте. Могу ли я спросить, что является производителем вашего тестового устройства? Некоторые производители делают некоторые дополнительные «оптимизации приложений». Например, для Huawei это буквально принудительно останавливает ваше приложение, поэтому никакой широковещательный приемник не будет работать, и это будет соответствовать описанному поведению. Помните, что «force stop» отключает ваше приложение до перезапуска с панели запуска. – mhenryk