Don't use this code. Use NB6 instead.
Starting from Android 8, notifications are grouped by channels. The notification behavior depends on the channel it belongs to.
With B4A v8+ notification channels are created automatically based on the importance level.
You can use the following code to manually create a notification channel with the same id as the notification channel that will be created internally. This allows you to override the notification behavior.
Note that once a notification channel was created then you cannot change its behavior. This means that:
1. You must call this code before you initialize the notification object.
2. If you have already created a notification in the past then you need to uninstall the app to see the changes (clean the project afterward).
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Example:
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Depends on: Phone and JavaObject libraries. Requires B4A v8+
			
			Starting from Android 8, notifications are grouped by channels. The notification behavior depends on the channel it belongs to.
With B4A v8+ notification channels are created automatically based on the importance level.
You can use the following code to manually create a notification channel with the same id as the notification channel that will be created internally. This allows you to override the notification behavior.
Note that once a notification channel was created then you cannot change its behavior. This means that:
1. You must call this code before you initialize the notification object.
2. If you have already created a notification in the past then you need to uninstall the app to see the changes (clean the project afterward).
			
				B4X:
			
		
		
		Sub CreateNotificationChannel(ImportanceLevel As Int)
   Dim p As Phone
   If p.SdkVersion >= 26 Then
       Dim ctxt As JavaObject
       ctxt.InitializeContext
       Dim channelId As String = "channel_" & ImportanceLevel
       Dim channel As JavaObject
       channel.InitializeNewInstance("android.app.NotificationChannel", Array(channelId, Application.LabelName, ImportanceLevel))
       'modify the channel
       'For example: disable the badge feature
       channel.RunMethod("setShowBadge", Array(False))
      
       'set it
       Dim manager As JavaObject = ctxt.RunMethod("getSystemService", Array("notification"))
       manager.RunMethod("createNotificationChannel", Array(channel))
      
   End If
End SubExample:
			
				B4X:
			
		
		
		Dim n As Notification
   CreateNotificationChannel(n.IMPORTANCE_HIGH)
   n.Initialize2(n.IMPORTANCE_HIGH)
   n.Icon = "icon"
   n.SetInfo("test", "test", Main)
   n.Notify(1)
			
				Last edited: 
			
		
	
							 
				 
 
		 
 
		 
 
		 
 
		 
 
		