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