Это может быть поздно, но это может быть полезно для других.Вы можете установить свернутое уведомление по умолчанию с помощью NotificationManager.IMPORTANCE_MIN
, а расширенное уведомление по умолчанию можно установить с помощью NotificationManager.IMPORTANCE_HIGH.
Вы можете получить полный пример:
public void generateCollepedNotification(Context context, String notificationTitle, String notificationSubText, String notificationMessage) {
String channelId = "my_channel_id";
int notification_id = 1001;
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, channelId)
.setSmallIcon(R.mipmap.ic_logo_notification)
.setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_logo)) // optional
.setContentTitle(notificationTitle)
.setContentText(notificationMessage)
.setSubText(notificationSubText) // optional
.setColor(ContextCompat.getColor(context, R.color.colorPrimary)) // optional
.setAutoCancel(true);
getNotificationManagerIMPORTANCE_MIN(context, channelId).notify(notification_id, builder.build());
}
private NotificationManager getNotificationManagerIMPORTANCE_MIN(Context context, String channelId) {
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
String channelName = "My Channel Name";
String channelDescription = "This is Description of my channel";
NotificationChannel mChannel = new NotificationChannel(
channelId,
channelName,
NotificationManager.IMPORTANCE_MIN
);
mChannel.setDescription(channelDescription);
mChannel.enableLights(true);
mChannel.setLightColor(Color.RED);
mChannel.setShowBadge(false);
notificationManager.createNotificationChannel(mChannel);
}
return notificationManager;
}