Italian Doppia notifica (B4A - Notification object)

Valentino.b

Member
Ciao a tutti

ho creato un servizio che verifica che data/ora dello smartphone siano aggiornati.

Ad un certo punto nel codice avvio il servizio
B4X:
StartService(ServizioDataOra)
e nell'area notifiche non ho nessun messaggio.


Se il servizio trova delle diversità tra data/ora locale e quella "reale", avvia una notifica all'utente
B4X:
Service.StartForeground(nid, ShowMessage())

Sub ShowMessage() As Notification
    Dim n As Notification
    n.Initialize
    n.Vibrate=False
    
    n.Icon = "icon"
    n.AutoCancel=True 'dovrebbe cancellare la notifica
    
    n.SetInfo2("Titolo notifica", "Testo notifica", "NotificaCliccata", Main)
    n.Notify(1)
    
    Return n
End Sub
ma nell'area notifiche la notifica è doppia



Una di queste (la prima) la riesco a rimuovere (scorrendo con il dito verso destra) mentre la seconda non scorre, si blocca a metà visualizzando l'ingranaggio.

Da cosa dipende questo comportamento?


Ho fatto un ulteriore tentativo. Dopo la visualizzazione della notifica ho fermato il servizio.
B4X:
Service.StartForeground(nid, ShowMessage("Titolo notifica", "Testo notifica", ""))

StopService(Me)
Il risultato è
B4X:
** Service (ServizioDataOra) Destroy **

In effetti quel secondo tipo di notifica (quella che non scorre) non compare più e viene visualizzata solo la prima notifica, cliccando sulla quale viene riportata in primo piano l'APP.
In effetti è questo il comportamento che mi aspetterei.

A questo punto però il servizio non è più attivo, avendolo distrutto. Quindi non verrà piu' verifica la data/ora di sistema.
Come mai compaiono due notifiche se da codice ne dovrei aver avviata una sola?
Quale dovrebbe essere il modo corretto di gestire le notifiche?

Grazie anticipatamente
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…