Hello, I am using this example code, to remove topic, code not entering Sub Thread1, and therefore not removing the subscribed topic
B4X:
#Region Service Attributes
#StartAtBoot: false
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Private fm As FirebaseMessaging
Dim Thread1 As Thread
End Sub
Sub Service_Create
fm.Initialize("fm")
Thread1.Initialise("Thread1")
End Sub
Public Sub subscribeToTopic
fm.SubscribeToTopic("DebugTopic")
Log ($"Token : ${fm.Token}"$)
End Sub
Public Sub removeToken()
Dim args(0) As Object
Thread1.Name = "B4A Thread 1"
Thread1.Start(Null, "ThreadSub1", args)
End Sub
Sub ThreadSub1
Dim jo As JavaObject
Try
jo = jo.InitializeStatic("com.google.firebase.iid.FirebaseInstanceId").RunMethod("getInstance", Null)
jo.RunMethod("deleteInstanceId", Null)
Catch
Log(LastException)
End Try
End Sub
Sub Thread1_Ended(fail As Boolean, error As String) 'An error or Exception has occurred in the Thread
If Not(fail) Then
Log ($"Thread1 Ended with error : ${error}"$)
Else
Log ("Thread1 Ended without error")
End If
End Sub
Sub fm_MessageArrived (Message As RemoteMessage)
Log("Message arrived")
Log($"Message data: ${Message.GetData}"$)
Dim n As Notification
n.Initialize
n.Icon = "icon"
n.SetInfo(Message.GetData.Get("title"), Message.GetData.Get("body"), Main)
n.Notify(1)
End Sub
Sub Service_Destroy
End Sub
Last edited: