I get Toast on Android 8.1 API 27:
Developer warning for package "my_package_name"
Failed to post notification on ...
Logcat includes next strings:
Notification: Use of stream types is deprecated for operations other than volume control
W/Notification: See the documentation of setSound() for what to use instead with android.media.AudioAttributes to qualify your playback use case
E/NotificationService: No Channel found for pkg=my_package_name
The full information in the Toast and in Logcat can help in the localization this problem.
Cause of Notifications Not Showing up on Android Do Not Disturb or Airplane Mode is on. Either system or app notifications are disabled. Power or data settings are preventing apps from retrieving notification alerts. Outdated apps or OS software can cause apps to freeze or crash and not deliver notifications.
Turn on notifications for Android devices Tap More on the bottom navigation bar and select Settings. Tap Turn on notifications. Tap Notifications. Tap Show notifications.
If you get this error should be paid attention to 2 items and them order:
NotificationChannel mChannel = new NotificationChannel(id, name, importance);
builder = new NotificationCompat.Builder(context, id);
Also NotificationManager notifManager and NotificationChannel mChannel are created only once.
There are required setters for Notification:
See example:
private NotificationManager notifManager; public void createNotification(String aMessage, Context context) { final int NOTIFY_ID = 0; // ID of notification String id = context.getString(R.string.default_notification_channel_id); // default_channel_id String title = context.getString(R.string.default_notification_channel_title); // Default Channel Intent intent; PendingIntent pendingIntent; NotificationCompat.Builder builder; if (notifManager == null) { notifManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { int importance = NotificationManager.IMPORTANCE_HIGH; NotificationChannel mChannel = notifManager.getNotificationChannel(id); if (mChannel == null) { mChannel = new NotificationChannel(id, title, importance); mChannel.enableVibration(true); mChannel.setVibrationPattern(new long[]{100, 200, 300, 400, 500, 400, 300, 200, 400}); notifManager.createNotificationChannel(mChannel); } builder = new NotificationCompat.Builder(context, id); intent = new Intent(context, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); builder.setContentTitle(aMessage) // required .setSmallIcon(android.R.drawable.ic_popup_reminder) // required .setContentText(context.getString(R.string.app_name)) // required .setDefaults(Notification.DEFAULT_ALL) .setAutoCancel(true) .setContentIntent(pendingIntent) .setTicker(aMessage) .setVibrate(new long[]{100, 200, 300, 400, 500, 400, 300, 200, 400}); } else { builder = new NotificationCompat.Builder(context, id); intent = new Intent(context, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); builder.setContentTitle(aMessage) // required .setSmallIcon(android.R.drawable.ic_popup_reminder) // required .setContentText(context.getString(R.string.app_name)) // required .setDefaults(Notification.DEFAULT_ALL) .setAutoCancel(true) .setContentIntent(pendingIntent) .setTicker(aMessage) .setVibrate(new long[]{100, 200, 300, 400, 500, 400, 300, 200, 400}) .setPriority(Notification.PRIORITY_HIGH); } Notification notification = builder.build(); notifManager.notify(NOTIFY_ID, notification); }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With