Spanish (B4A) ¿Se puede poner en uso un servicio sin invocar 'StartService'?

Seneca

Active Member
Licensed User
Hola.

Estoy trabajando con las notificaciones push (Firebase FCM), para lo cual hay que usar un servicio con el nombre 'FirebaseMessaging' y me surge una duda. ¿Se puede poner en marcha un servicio sin invocarlo mediante StartService?

En el ejemplo que Erel publica en el hilo de la librería FirebasNotifications, el Servicio FirebaseMessaging se pone en marcha de la siguiente forma:

B4X:
'Starter service
Sub Process_Globals

End Sub

Sub Service_Create
   CallSubDelayed(FirebaseMessaging, "SubscribeToTopics")
End Sub

Mi duda es si esta técnica es equivalente a usar StartService.

He leido diversos hilos sobre los servicios (por ejemplo: https://www.b4x.com/android/forum/threads/b4a-tutorial-módulos-de-servicio.42689/ ) pero no he conseguido resolver esta duda.

Saludos.
 

XbNnX_507

Active Member
Licensed User
Longtime User
¿Se puede poner en marcha un servicio sin invocarlo mediante StartService?
Si. Precisamente es para eso que existe CallSubDelayed.
Mi duda es si esta técnica es equivalente a usar StartService.
Al utilizar CallSubDelayed el servicio o actividad que se llame en este caso (FirebaseMessaging) si no esta corriendo, este lo pondra en marcha.

En fin puedes utilizar callSubDelayed y sustituir StartService, recuerda que puede ser usado desde un modulo, actividad o servicio no necesariamente del starter service como lo estas haciendo ahora mismo.
 
Top