Sub Process_Globals
    Private xui As XUI
End Sub
Sub Globals
    Private smiley As Bitmap
End Sub
Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("main")
    smiley = LoadBitmapResize(File.DirAssets, "smiley.png", 24dip, 24dip, False)
End Sub
Private Sub CheckAndRequestNotificationPermission As ResumableSub
    Dim p As Phone
    If p.SdkVersion < 33 Then Return True
    Dim ctxt As JavaObject
    ctxt.InitializeContext
    Dim targetSdkVersion As Int = ctxt.RunMethodJO("getApplicationInfo", Null).GetField("targetSdkVersion")
    If targetSdkVersion < 33 Then Return True
    Dim NotificationsManager As JavaObject = ctxt.RunMethod("getSystemService", Array("notification"))
    Dim NotificationsEnabled As Boolean = NotificationsManager.RunMethod("areNotificationsEnabled", Null)
    If NotificationsEnabled Then Return True
    Dim rp As RuntimePermissions
    rp.CheckAndRequest(rp.PERMISSION_POST_NOTIFICATIONS)
    Wait For Activity_PermissionResult (Permission As String, Result As Boolean) 'change to Activity_PermissionResult if non-B4XPages.
    Log(Permission & ": " & Result)
    Return Result
End Sub
Sub HighPriority_Notification
    Dim n As NB6
    n.Initialize("default", Application.LabelName, "HIGH").SmallIcon(smiley)
    n.Build("Important!!!", "Content", "tag", Me).Notify(1)
End Sub
Private Sub Button1_Click
    HighPriority_Notification
End Sub
Private Sub Activity_Resume
    Wait For (CheckAndRequestNotificationPermission) Complete (HasPermission As Boolean)
    If HasPermission Then
'        CallSub(Me, HighPriority_Notification)
    Else
        ToastMessageShow("No permission to show notification", True)
    End If
    Dim in As Intent = Activity.GetStartingIntent
    If in.IsInitialized Then
        If in.HasExtra("Notification_Tag") Then
            Log("Activity started from notification. Tag: " & in.GetExtra("Notification_Tag"))
        End If
    End If
End Sub